这个问题在这里已经有了答案:HowdoItestaclassthathasprivatemethods,fieldsorinnerclasses?(58个回答)关闭8年前。我被分配了对一个我从未直接使用JUnit进行过的类进行单元测试的任务,并且严禁更改包中的代码。这通常没有问题,因为我们的大多数单元测试只是为了功能和输入/输出的一致性,这可以通过运行例程并检查它们的返回值来完成。但是,偶尔需要检查类中的私有(private)变量,或者直接编辑私有(private)变量来检查一些内部行为。有没有办法访问这些,无论是通过JUnit还是任何其他方式,以进行单元测试,而无需实际更改原始源包中
这个问题在这里已经有了答案:HowdoItestaclassthathasprivatemethods,fieldsorinnerclasses?(58个回答)关闭8年前。我被分配了对一个我从未直接使用JUnit进行过的类进行单元测试的任务,并且严禁更改包中的代码。这通常没有问题,因为我们的大多数单元测试只是为了功能和输入/输出的一致性,这可以通过运行例程并检查它们的返回值来完成。但是,偶尔需要检查类中的私有(private)变量,或者直接编辑私有(private)变量来检查一些内部行为。有没有办法访问这些,无论是通过JUnit还是任何其他方式,以进行单元测试,而无需实际更改原始源包中
JUnit4库中有一个fail()方法。我喜欢它,但是缺少库中不存在的pass()方法。为什么会这样?我发现我可以改用assertTrue(true)但看起来仍然不合逻辑。@TestpublicvoidtestSetterForeignWord(){try{card.setForeignWord("");fail();}catch(IncorrectArgumentForSetterex){}//assertTrue(true);} 最佳答案 只要您的测试完成并通过,请调用return语句。
JUnit4库中有一个fail()方法。我喜欢它,但是缺少库中不存在的pass()方法。为什么会这样?我发现我可以改用assertTrue(true)但看起来仍然不合逻辑。@TestpublicvoidtestSetterForeignWord(){try{card.setForeignWord("");fail();}catch(IncorrectArgumentForSetterex){}//assertTrue(true);} 最佳答案 只要您的测试完成并通过,请调用return语句。
Ruby的Test::Unit有一个很好的assert_matches方法,可以在单元测试中使用它来断言正则表达式匹配字符串。在JUnit中有这样的东西吗?目前,我这样做:assertEquals(true,actual.matches(expectedRegex)); 最佳答案 如果您将assertThat()与Hamcrestmatcher一起使用测试正则表达式匹配,然后如果断言失败,您将收到一条很好的消息,指示预期模式和实际文本。断言也会更流畅地阅读,例如assertThat("FooBarBaz",matchesPatter
Ruby的Test::Unit有一个很好的assert_matches方法,可以在单元测试中使用它来断言正则表达式匹配字符串。在JUnit中有这样的东西吗?目前,我这样做:assertEquals(true,actual.matches(expectedRegex)); 最佳答案 如果您将assertThat()与Hamcrestmatcher一起使用测试正则表达式匹配,然后如果断言失败,您将收到一条很好的消息,指示预期模式和实际文本。断言也会更流畅地阅读,例如assertThat("FooBarBaz",matchesPatter
上下文我正在写一个简单的JUnit测试MyObject类。MyObject可以从静态工厂方法创建,该方法采用可变参数String。MyObject.ofComponents("Uno","Dos","Tres");在MyObject存在期间的任何时候,客户端都可以以List的形式检查创建它的参数。,通过.getComponents()方法。myObject.ofComponents();//->List:{"Uno","Dos","Tres"}换句话说,一个MyObject既能记住也能公开使它存在的参数列表。有关此契约(Contract)的更多详细信息:getComponents的顺序
上下文我正在写一个简单的JUnit测试MyObject类。MyObject可以从静态工厂方法创建,该方法采用可变参数String。MyObject.ofComponents("Uno","Dos","Tres");在MyObject存在期间的任何时候,客户端都可以以List的形式检查创建它的参数。,通过.getComponents()方法。myObject.ofComponents();//->List:{"Uno","Dos","Tres"}换句话说,一个MyObject既能记住也能公开使它存在的参数列表。有关此契约(Contract)的更多详细信息:getComponents的顺序
我正在尝试使用Spring2.5.6和JUnit4.8.1为我的JPADAO类创建JUnit测试。我的测试用例如下所示:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:config/jpaDaoTestsConfig.xml"})publicclassMenuItem_Junit4_JPATestextendsBaseJPATestCase{privateApplicationContextcontext;privateInputStreamdataInputStrea
我正在尝试使用Spring2.5.6和JUnit4.8.1为我的JPADAO类创建JUnit测试。我的测试用例如下所示:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:config/jpaDaoTestsConfig.xml"})publicclassMenuItem_Junit4_JPATestextendsBaseJPATestCase{privateApplicationContextcontext;privateInputStreamdataInputStrea