java-我们是否可以验证testdisplay2()方法中没有发生异常,就像我们在testdisplay1()中发生异常时所使用的预期一样
class A{
public void display(){
...
...
...
if(a){
throw new AIsTrueException("a true");
}
if(b){
throw new BIsTrueException("b true");
}
}
}
class BTest{
...
@InjectMock
A subject;
...
@Test(expected=AIsTrueException.class)
public void testdisplay1(){
subject.display(true,false);
}
@Test
public void testdisplay2(){
subject.display(false,false);
// Here how can I verify that no exception has occured in display(),
// (When exception occured we use expected = ...)
// Do we have similar when no exception occured
}
...
...
}
你所拥有的是正确的。尝试更改display()
以始终抛出AistRueException
,您将看到TestDisplay2()
给出错误。
我有以下服务方式: 我正试图为此方法创建以下单元测试: 我的问题是: 1.我们需要在单元测试中测试方法吗?如果是这样,我们是否应该为列表创建多条记录,然后将返回的结果与预期的筛选值进行比较? 泛型可译:
最近,在一次代码审查中,一位同事说“测试不应该有try-catch块”。他还向我指出了关于的信息,我可以使用它重写对异常数据执行检查的一些测试。 然而,我遇到了一种情况,我不确定我是否能消除试捕。我正在为一个方法编写单元测试,该方法将抛出一个异常,并执行一些我需要使用JMockit验证的行为。假设测试中的代码包含如下内容 JUnit测试当前看起来像 我找不到摆脱试捕的好方法。就我个人而言,我不认为
我正在为我的程序创建一个单元测试。我有一个void方法,它接受五个参数,然后将这些参数转换成一个闭包,并将其传递给另一个服务,然后将其转换成电子邮件并发送。我唯一关心的是这封邮件的正文,它存储在传递给这个函数的一个参数中。有没有可能在不改变我的程序设计的情况下验证这个论点? 编辑:作为对下面答案的回应,我在测试中插入了一个spock样式的模拟,但我认为我的语义不对,因为value存储的是NULL。
问题内容: 我有以下课程: 我的意图是验证当我调用doIt()时,将按该顺序调用metodOne(),methodTwo()和methodThree()方法。 我正在使用模拟嘲笑。有谁知道我如何测试这种情况? 问题答案: 不想成为这个人,但是:别测试这个。测试输出,副作用,结果-而不是执行。 如果您确实想确保顺序正确,请将这些方法提取到单独的类中并进行模拟。
我知道一个测试可以通过运行来运行,在sbt中, 有没有办法告诉sbt/scalatest在没有标签的情况下运行单个测试?例如: 这意味着“在类中运行第二个测试。不管它是什么”。我们有一堆测试,没有人费心去标记它们,那么有没有办法在没有标签的情况下运行单个测试?
问题 你想写个测试用例来准确的判断某个异常是否被抛出。 解决方案 对于异常的测试可使用 assertRaises() 方法。 例如,如果你想测试某个函数抛出了 ValueError 异常,像下面这样写: import unittest # A simple function to illustrate def parse_int(s): return int(s) class Test