Tag: junit

在Hamcrest中检查列表是否为空

我想知道是否有人知道使用assertThat()和Matchers来检查List是否为空的方法? 我可以看到使用JUnit的最佳方式: assertFalse(list.isEmpty()); 但我希望在Hamcrest有办法做到这一点。

AssertContains在jUnit中的string

有没有更好的方式来写在jUnit String x = "foo bar"; Assert.assertTrue(x.contains("foo"));

JUnit与TestNG

在工作中,我们目前仍在使用JUnit 3来运行我们的testing。 我们一直在考虑切换到JUnit 4来编写新的testing,但是现在我一直在关注TestNG。 你们对JUnit 4或者TestNG有什么经验,而且对于大量的testing来说,它们似乎工作得更好? 编写testing的灵活性对于我们来说也很重要,因为我们的functiontesting涵盖了一个广泛的方面,需要用各种方式编写来获得结果。 旧的testing不会被重写,因为他们的工作很好。 我希望在新的testing中看到,testing的写法,自然断言,分组和易于分布的testing执行的灵活性。

如何使用Junit来testingasynchronous进程

如何testing使用Junit激发asynchronous进程的方法? 我不知道如何让我的testing等待进程结束(这不完全是一个unit testing,它更像是一个集成testing,因为它涉及几个类而不只是一个)

断言一个对象是一个特定的types

在JUnit中是否有可能断言一个对象是一个类的实例? 由于各种原因,我在我的testing中有一个对象,我想检查的types。 它是一种Object1还是一种Object2? 目前我有: assertTrue(myObject instanceof Object1); assertTrue(myObject instanceof Object2); 这工作,但我想知道是否有一个更具performance力的方式做到这一点。 比如像这样的东西: assertObjectIsClass(myObject, Object1); 我可以这样做: assertEquals(myObject.class, Object1.getClass()); 是否有一个特定的断言方法,允许我以更优雅,stream畅的方式testing一个对象的types?

如何告诉Mockito模拟对象在下一次被调用时返回不同的东西?

所以,我创build一个模拟对象作为类级别的静态variables像这样…在一个testing中,我希望Foo.someMethod()返回一个特定的值,而在另一个testing中,我希望它返回一个不同的价值。 我遇到的问题是,似乎我需要重build模拟,以使其正常工作。 我想避免重build模拟,并在每个testing中使用相同的对象。 class TestClass { private static Foo mockFoo; @BeforeClass public static void setUp() { mockFoo = mock(Foo.class); } @Test public void test1() { when(mockFoo.someMethod()).thenReturn(0); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls mockFoo.someMethod(), receiving 0 as the value } @Test public void test2() { when(mockFoo.someMethod()).thenReturn(1); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls […]

将本地文件传递到Java中的URL

为了进行unit testing,如何使用本地文件创build新的URL对象? 谢谢。

为什么要使用Hamcrest-Matcher和assertThat()而不是传统的assertXXX() – 方法

当我看着Assert类的JavaDoc中的例子 assertThat("Help! Integers don't work", 0, is(1)); // fails: // failure message: // Help! Integers don't work // expected: is <1> // got value: <0> assertThat("Zero is one", 0, is(not(1))) // passes 我没有看到一个很大的优势,比方说assertEquals( 0, 1 ) 。 如果结构变得更复杂,但是你看到更多的优势,那么也许是好消息? 可读性?

setUp()和setUpBeforeClass()之间的区别

当使用JUnit进行unit testing时,有两个类似的方法setUp()和setUpBeforeClass() 。 这些方法有什么区别? 另外, tearDown()和tearDownAfterClass()之间有什么区别? 这里是签名: @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { }

Junit @ Rule如何工作?

我想为大量代码编写testing用例,我想知道JUnit @Rule注释特性的细节,以便我可以使用它来编写testing用例。 请提供一些很好的答案或链接,通过一个简单的例子详细说明其function。