Tag: junit

Mockito:如何validation在方法中创build的对象上调用的方法?

我是Mockito新手。 鉴于下面的类,我如何使用Mockito来validation在调用foo之后一次调用someMethod ? public class Foo { public void foo(){ Bar bar = new Bar(); bar.someMethod(); } } 我想进行下面的validation电话, verify(bar, times(1)).someMethod(); bar是bar的一个嘲弄的例子。

使用JUnitconfigurationIntelliJ IDEA进行unit testing

我决定今天上午通过试用版试用IntelliJ,并安装了JUnit插件。 我做了一个新的Java项目,我想写一个testing用例。 如何将junit.jar文件添加到我的项目? (我真的想把它添加到每个Java项目,现在和永远更多 – 是否有这样做?)。

为从Eclipse运行的所有JUnittesting指定自定义log4j.properties文件

我想指定一个特定的Eclipse VM argument给我从Eclipse运行的所有JUnittestingie -Dlog4j.configuration=log4j-dev.properties 这是因为我想要一个特定的log4jconfiguration文件被我所有的JUnittesting而不是默认的log4j.properties文件所取代。 到目前为止,我必须为每个JUnittesting指定上面的VM argument (在Run Configurations -> Arguments -> VM arguments ),因为我有很多testing,所以很麻烦。

Eclipse – debugging器不会停在断点处

我试图麻烦拍摄一个JUnit。 在源代码中,我已经在两个地方设置了断点:1)在一个静态成员被初始化的行中2)其中一个testing用例的第一行。 debugging器停在静态字段初始化行中。 但是在testing案例中并没有停止。 无论我在哪里设置testing用例的中断点,debugging器都不会停在那里。 我知道确定testing用例是被执行的,因为我可以看到我添加的日志消息出现在日志中。 任何帮助将不胜感激。 我正在使用Eclipse Galileo和JUnit4启动器。

在JUnit断言中比较数组,简洁的内置方式?

有一种简洁的内置方式可以在JUnit中的两个相似types的数组上进行相等的断言吗? 默认情况下(至less在JUnit 4中)似乎是在数组对象本身上进行实例比较。 EG,不起作用: int[] expectedResult = new int[] { 116800, 116800 }; int[] result = new GraphixMask().sortedAreas(rectangles); assertEquals(expectedResult, result); 当然,我可以手动使用: assertEquals(expectedResult.length, result.length); for (int i = 0; i < expectedResult.length; i++) assertEquals("mismatch at " + i, expectedResult[i], result[i]); 有没有更好的办法?

使用mockitotesting私有方法

公开课A { public void method(boolean b){ 如果(b ==真) 方法1(); 其他 方法2(); } private void method1(){} private void method2(){} } 公共类TestA { @testing public void testMethod(){ A =模拟(A.class); a.method(真); //如何validation(a).method1(); } } 如何testing私有方法是否被调用,以及如何testing私有方法使用mockito?

在Eclipse中运行单个JUnittesting

如果我有一个包含多个testing的testing套件,当我尝试从代码编辑器的上下文菜单或JUnit视图中运行单个unit testing时,似乎坚持始终运行整个套件,而不是单一testing。 有没有办法禁用改变这种行为,以便我可以要求运行,只有这样,testing。

在IntelliJ 10.5中运行testing时获取“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”

我正在使用JUnit-dep 4.10和Hamcrest 1.3.RC2。 我创build了一个如下所示的自定义匹配器: public static class MyMatcher extends TypeSafeMatcher<String> { @Override protected boolean matchesSafely(String s) { /* implementation */ } @Override public void describeTo(Description description) { /* implementation */ } @Override protected void describeMismatchSafely(String item, Description mismatchDescription) { /* implementation */ } } 从命令行使用Ant运行时,它工作得很好。 但是从IntelliJ运行时,它会失败: java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18) at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8) at com.netflix.build.MyTest.testmyStuff(MyTest.java:40) 我的猜测是它使用了错误的hamcrest.MatcherAssert。 […]

比较XML时如何忽略某些元素?

我有这样的XML消息: <root> <elementA>something</elementA> <elementB>something else</elementB> <elementC>yet another thing</elementC> </root> 我想比较一个由testing方法产生的这种types的消息到一个预期的消息,但我不关心elementA 。 所以,我想上面的消息被认为是等于: <root> <elementA>something different</elementA> <elementB>something else</elementB> <elementC>yet another thing</elementC> </root> 我正在使用最新版本的XMLUnit 。 我想象的答案涉及到创build一个自定义的DifferenceListener ; 如果有什么东西可以使用的话,我只是不想重新发明轮子。 欢迎使用XMLUnit以外的库的build议。

如何在JUnit 4中dynamic创buildtesting套件?

我想创build一个使用JUnit 4的junittesting套件,在testing套件运行之前,要包含的testing类的名字是不知道的。 在JUnit 3中,我可以这样做: public final class MasterTester extends TestCase { /** * Used by junit to specify what TestCases to run. * * @return a suite containing what TestCases to run */ public static TestSuite suite() { TestSuite suite = new TestSuite(); for(Class<?> klass : gatherTestClasses()) { suite.addTestSuite(klass); } return suite; } } 并让gatherTestClasses()方法处理确定要运行的testing类。 […]