草庐IT

java - 如何使用 JUnit 中的规则访问测试类的字段

我想编写一个JUnit@Rule(版本4.10)来设置一些对象(实体管理器)并通过将其“注入(inject)”到变量中使它们在测试中可用。像这样:publicclassMyTestClass(){@RuleMyEntityManagerInjectRule=newMyEntityManagerInjectRule()://MyEntityManagerInjectRule"inject"theentitymanagerEntityMangerem;@Test...}问题是我不知道如何在MyEntityManagerInjectRule(扩展TestRule)中获取MyTestClass

java - Eclipse 和 Netbeans 的共存情况如何?

我想在一个系统上同时安装Eclipse和Netbeans(带有JUnit),这样我对两者都比较熟悉。除了GUI开发(参见“UsingbothEclipseandNetbeans”),在同一个系统甚至同一个项目上使用这两个IDE是否还有其他问题? 最佳答案 我们经常同时使用Netbeans和Eclipse。我们在Vista、WinXP和32位和64位Fedora的多个版本之间来回切换,没有任何问题。将项目文件保存在版本控制中可以使它们更容易保持同步。我们甚至还将启动文件保存在项目目录中。我发布了对anothermultipleIDEs

java - 如何在参数化测试中测试异常?

在JUnit4中,您可以通过在一个方法中提供参数集合来编写参数化单元测试,这些参数将传递给测试的构造函数并在另一个方法中进行测试。如果我有一个我希望抛出异常的参数,我该如何指定它? 最佳答案 这就是我如何使用junit参数化测试和预期的异常:@RunWith(Parameterized.class)publicclassCalcDivTest{@Parameter(0)publicintnum1;@Parameter(1)publicintnum2;@Parameter(2)publicintexpectedResult;@Para

java - 在 Intellij 中,如何创建一个为测试添加导入语句的实时模板?

我希望能够在类文件中键入test,然后按Tab键并将其展开为:@TestpublicvoidwhenThen(){}并且还包括适当的导入。这包括importstaticjunit.framework.Assert.*;。我该怎么做?我正在使用Intellij12 最佳答案 您可以像这样在IntelliJ12中为test创建一个实时模板:文件>设置...>实时模板添加新模板设置缩写(您将输入什么来使用此过滤器)键入此模板(按Tab键后,您的光标将位于$EXPR$以完成方法名称,在本例中,$END$是完成$EXPR$后光标所在的位置名称

java - 错误“在 Junit 测试中没有公共(public) TestCase(字符串名称)或 TestCase()

我是junittestandroid的初学者。我正在关注thistutorial但是得到这个错误junit.framework.AssertionFailedError:Classcom.example.projectfortest.test.MainActivityTesthasnopublicconstructorTestCase(Stringname)orTestCase()atandroid.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)atandroid.test.AndroidTestRunner.run

java - 通过JMockit调用私有(private)方法测试结果

我正在使用JMockit1.1,我想做的就是调用私有(private)方法并测试返回值。但是,我无法从JMockitDe-Encapsulation中准确理解如何执行此操作。示例。我要测试的方法是这个类中的私有(private)方法:publicclassStringToTransaction{privateListparseTransactionString(finalStringinput){//..processingreturnresultList;}}下面是我的测试代码。@TestpublicvoidtestParsingForCommas(){finalStringToTr

java - JUnit @Ignore 有用吗?

在JUnit中,您可以在方法前使用@Ignore来告诉测试运行器自动跳过这些测试。据我所知,这实际上只是一种方便的方式来记录/标记您想要稍后返回的不完整/不再功能测试。那么我说的对吗,在运行时,@Ignore测试、没有注释的方法和注释掉的方法之间没有区别?(假设这些测试都是自包含的。)有没有办法在Netbeans上的JUnit中获取被忽略的测试用例列表?如果不是,@Ignore标签真正有多少用处,因为它可能在测试失败时更有用,这样它就不会被忽略? 最佳答案 AmIcorrectinsayingthen,thatatruntimeth

java - 最佳实践 : fail() vs assertTrue(false)

当故意使测试用例失败时(例如,当未抛出异常时)我看到人们同时使用fail()和assertTrue(false)。使用其中一种有什么优势吗?try{//methodcallthatshouldthrowexceptionfail("oops");}catch(Exceptione){}对比try{//methodcallthatshouldthrowexceptionassertTrue("oops",false);}catch(Exceptione){} 最佳答案 Arethereanyadvantagestousingoneor

java - JUnit断言,值介于两个整数之间

我需要为我编写的算法编写JUnit测试,该算法输出两个已知值之间的随机整数。我需要一个JUnit测试(即assertEquals之类的测试)断言输出值介于(或不介于)这两个整数之间。即我有值5和10,输出将是5到10之间的随机值。如果测试为正,则数字介于两个值之间,否则不是。 最佳答案 @TestpublicvoidrandomTest(){intrandom=randomFunction();inthigh=10;intlow=5;assertTrue("Error,randomistoohigh",high>=random);a

java - dbunit 性能最佳实践

除了实际dbunit站点上推荐的那些之外,还有哪些最佳实践/原则可以大大加快测试速度并保持它们的可维护性?我渴望一个librarylikefactorygirl对于java,但由于静态类型,它看起来不太可能。我目前的想法是此时每个测试类有1个xml数据集——也许我分享了其中的一些,也许我没有。虽然一些测试数据可能会跨数据集重复,但我发现很难在3000个单元/集成测试中维护共享数据集-而且我还有很长的路要走。希望能遵循任何导致测试性能良好且易于维护的原则。 最佳答案 在我之前的一项任务中,我们进行了数百个涉及数据集的集成测试,尽管不是