草庐IT

Junit-Tests

全部标签

java - JUnit - 预期的异常消息正则表达式

我正在从TestNg切换到JUnit。我需要将预期的异常消息与预定义的正则表达式相匹配,例如在以下TestNg代码中:@Test(expectedExceptions=SomeClass.class,expectedExceptionsMessageRegExp="**[123]regexExample*")publicvoidshould_throw_exception_when_...()throwsIOException{generatesException();}这很好用,但我无法在JUnit中实现相同的行为。我想出了这个解决方案:@RulepublicExpectedExce

java - 删除或注释掉不工作的 JUnit 测试?

我目前正在为遗留应用程序构建CI构建脚本。有零星的JUnit测试可用,我将把所有测试的JUnit执行集成到CI构建中。但是,我想知道如何处理我在非维护的JUnit测试中遇到的100次失败。我是否:1)将它们注释掉,因为它们看起来具有合理的(如果未维护的话)业务逻辑,希望有人最终取消注释并修复它们2)删除它们,因为不太可能有人修复它们,注释掉的代码只会被忽略或永远困惑3)追踪那些把这个烂摊子留在我手上的人,并用代码的打印输出敲打他们的脑袋(由于长方法的气味将足以完成任务),同时宣扬一个维护良好且经过单元测试的代码库 最佳答案 如果您使

java - JUnit 在预期异常后继续断言

我有类似的东西@Test(expected=IllegalArgumentException.class)publicvoidcdIntoNonExistantFolder(){cdTool.changeDirectory("nonexistant");assertThat(cdTool.getStatusCode(),not(equalTo(0)));}我相信assertThat不会运行,因为changeDirectory会抛出异常。是否有可能让它仍然运行? 最佳答案 你可以使用finally:@Test(expected=Ill

java - Junit 测试中的模拟对象给出 NoClassDefFoundError

当我使用PowerMock和Mockito在Junit测试用例中模拟对象时,我得到了这个异常:java.lang.NoClassDefFoundError:org/mockito/exceptions/base/MockitoSerializationIssue 最佳答案 我在结合PowerMock和Mockito时得到了这个。使用兼容版本修复,如下所示:https://github.com/powermock/powermock/wiki/Mockito#supported-versions

java - 如何将非并行junit参数化测试转为并行运行

我编写了一个参数化的junit测试。有没有内置的方法让它并行运行?例如任何@annoation?如果没有,我唯一的办法就是手动编写-你会如何在junit、java中管理线程池? 最佳答案 图书馆JUnitToolbox提供一个ParallelParameterized亚军。替换@RunWith(Parameterized.class)publicclassYourTest{与@RunWith(ParallelParameterized.class)publicclassYourTest{

java - 用于数据库代码的 JUnit

我一直在尝试实现单元测试,目前有一些代码可以执行以下操作:查询外部数据库,加载进入提要表查询View,这是我的提要和数据的增量表,更新数据表以匹配饲料表我的单元测试策略是这样的:我有一个可以自由操作的测试数据库。在setUP()中,将一些数据加载到我的测试数据库中运行我的代码,使用我的测试数据库作为源检查数据表,检查计数和某些记录的存在/不存在清除测试数据库,加载不同的数据集再次运行代码再次检查数据表很明显,我已经设置了加载到源数据库中的数据集,这样我就知道应该添加、删除、更新等某些记录。这样好像有点麻烦,应该有更简单的方法吧?有什么建议吗? 最佳答案

java - 使用 JUnit (Java) 的 Selenium 单元测试

我只想快速问一下,我在整个互联网上什至在SO上都找到了SeleniumIDE如何根据您在浏览器中所做的事情创建Java源文件。但是所有这些来源都会导致一些单元测试。对于Java,我相信JUnit和其他一些由SeleniumIDE支持。但是我想问一下,为什么?我的意思是,如果您仍然需要在执行之前编译它们,为什么要使用单元测试而不是仅仅运行代码并查看WebDriver是否抛出任何异常?在这里使用例如JUnit有什么好处?我知道它主要以这种方式使用,我只是不知道为什么。谢谢。 最佳答案 以下是我想到的几个原因:1)您可以将selenium

java - 为方法运行 junit 测试时出现 org.hsqldb.jdbcDriver ClassNotFoundException

我正在使用一种返回数据源的方法。方法如下: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

java - JUnit Matcher#startsWith 的声明在哪里?

我正在浏览junitExpectedExceptions'javadoc我无法理解他们示例中的startsWith来自哪里(在代码中标记为HERE)。我检查了CoreMatcherutilityclass但找不到任何静态startsWith方法。该方法位于何处?(我当然可以自己写,但这不是重点)publicstaticclassHasExpectedException{@RulepublicExpectedExceptionthrown=ExpectedException.none();@TestpublicvoidthrowsNullPointerExceptionWithMessa

java - 使用 DAO 和 Web 服务的数据库插入方法的 Junit 测试用例

我正在实现一个基于网络服务的大学管理系统。该系统将某些类(class)添加到数据库中。下面是我正在使用的代码。Course.javapublicclassCourse{privateStringcourseName;privateStringlocation;privateStringcourseId;publicStringgetCourseId(){returncourseId;}publicvoidsetCourseId(StringcourseId){this.courseId=courseId;}publicStringgetCourseName(){returncourse