我目前正在为遗留应用程序构建CI构建脚本。有零星的JUnit测试可用,我将把所有测试的JUnit执行集成到CI构建中。但是,我想知道如何处理我在非维护的JUnit测试中遇到的100次失败。我是否:1)将它们注释掉,因为它们看起来具有合理的(如果未维护的话)业务逻辑,希望有人最终取消注释并修复它们2)删除它们,因为不太可能有人修复它们,注释掉的代码只会被忽略或永远困惑3)追踪那些把这个烂摊子留在我手上的人,并用代码的打印输出敲打他们的脑袋(由于长方法的气味将足以完成任务),同时宣扬一个维护良好且经过单元测试的代码库 最佳答案 如果您使
我正在尝试为Cucumber设置“名称”选项,以便能够运行特定功能或场景。我已经输入了这个,mvntest-DCucumber.Options--name="MyFeatureName"但它只是运行了所有功能并且没有给出错误。有什么想法吗? 最佳答案 这是一个snippet来自Cucumber-JVM存储库,了解如何通过传递cucumber选项来运行java-helloworld示例:mvntest-Dcucumber.options="--formatjson-pretty--glueclasspath:cucumber/exam
我有类似的东西@Test(expected=IllegalArgumentException.class)publicvoidcdIntoNonExistantFolder(){cdTool.changeDirectory("nonexistant");assertThat(cdTool.getStatusCode(),not(equalTo(0)));}我相信assertThat不会运行,因为changeDirectory会抛出异常。是否有可能让它仍然运行? 最佳答案 你可以使用finally:@Test(expected=Ill
当我使用PowerMock和Mockito在Junit测试用例中模拟对象时,我得到了这个异常:java.lang.NoClassDefFoundError:org/mockito/exceptions/base/MockitoSerializationIssue 最佳答案 我在结合PowerMock和Mockito时得到了这个。使用兼容版本修复,如下所示:https://github.com/powermock/powermock/wiki/Mockito#supported-versions
我编写了一个参数化的junit测试。有没有内置的方法让它并行运行?例如任何@annoation?如果没有,我唯一的办法就是手动编写-你会如何在junit、java中管理线程池? 最佳答案 图书馆JUnitToolbox提供一个ParallelParameterized亚军。替换@RunWith(Parameterized.class)publicclassYourTest{与@RunWith(ParallelParameterized.class)publicclassYourTest{
我一直在尝试实现单元测试,目前有一些代码可以执行以下操作:查询外部数据库,加载进入提要表查询View,这是我的提要和数据的增量表,更新数据表以匹配饲料表我的单元测试策略是这样的:我有一个可以自由操作的测试数据库。在setUP()中,将一些数据加载到我的测试数据库中运行我的代码,使用我的测试数据库作为源检查数据表,检查计数和某些记录的存在/不存在清除测试数据库,加载不同的数据集再次运行代码再次检查数据表很明显,我已经设置了加载到源数据库中的数据集,这样我就知道应该添加、删除、更新等某些记录。这样好像有点麻烦,应该有更简单的方法吧?有什么建议吗? 最佳答案
人们总是在TDD中说weshouldwritejunitsevenbeforewewritetheactualcode.不知何故,我无法以正确的精神理解这一点。我希望这意味着您只需编写具有正确签名的空方法,并且您的测试用例预计最初会失败在TDD方法中,我需要获取客户列表。根据我的理解,我将编写如下所示的空方法publicListgetCustomers(intcustId){returnnull;}现在我将编写junit测试用例,其中我将检查大小为10(我实际上期望的)。这样对吗?基本上我的问题是在TDD中,我们如何在编写实际代码之前编写junit测试用例?
我只想快速问一下,我在整个互联网上什至在SO上都找到了SeleniumIDE如何根据您在浏览器中所做的事情创建Java源文件。但是所有这些来源都会导致一些单元测试。对于Java,我相信JUnit和其他一些由SeleniumIDE支持。但是我想问一下,为什么?我的意思是,如果您仍然需要在执行之前编译它们,为什么要使用单元测试而不是仅仅运行代码并查看WebDriver是否抛出任何异常?在这里使用例如JUnit有什么好处?我知道它主要以这种方式使用,我只是不知道为什么。谢谢。 最佳答案 以下是我想到的几个原因:1)您可以将selenium
我在src/test/resources/feature/中有以下功能文件(单独的功能文件),我想并行运行它们。比如:一个功能文件必须在chrome中执行,另一个必须在firefox中执行,如@Tags名称所述。Feature:Refunditem@chromeScenario:JeffreturnsafaultymicrowaveGivenJeffhasboughtamicrowavefor$100AndhehasareceiptWhenhereturnsthemicrowaveThenJeffshouldberefunded$100Feature:RefundMoney@firef
我正在使用一种返回数据源的方法。方法如下:publicstaticDataSourcegetDataSource(){Stringurl;//url="jdbc:hsqldb:file:"+filePath;url="jdbc:hsqldb:file:D:/EclipseWorskpace/ew-pg/lmexadapter/hsqldb-example/src/main/webapp/WEB-INF/data/db/hsqldb.jar";BasicDataSourcebasicDataSource=newBasicDataSource();basicDataSource.setUs