草庐IT

inline-tests

全部标签

java - JUnit4 : Test a shutdown hook is called

我有一个添加关闭钩子(Hook)的方法。我需要测试(通过JUnit)钩子(Hook)中执行的代码是否被调用:publicvoidmyMethod(){Runtime.getRuntime().addShutdownHook(newThread(){@Overridepublicvoidrun(){...codetotest...}});}如何在单元测试中模拟关机? 最佳答案 我认为您无法测试它。相反,只需测试您的代码在调用时是否正确运行(通过单独对其进行单元测试)。然后,相信Java会在正确的时间调用您的代码。即将代码提取到扩展Th

java - Pentaho水壶: how to set up tests for transformations/jobs?

我使用PentahoKettle已经有一段时间了,之前我所做的转换和工作(使用勺子)非常简单,从数据库加载,重命名等,输入到另一个数据库。但现在我一直在做一些更复杂的计算的转换,我现在想以某种方式进行测试。所以我想做的是:设置一些测试数据运行转换验证结果数据一个选择可能是制作一个Kettle测试作业来测试转换。但由于我的转换与Java项目相关,我更愿意从jUnit运行测试。所以我考虑过做一个jUnit测试:设置测试数据(使用dbunit)运行转换(从命令行使用kitchen.sh)验证结果数据(使用dbunit)然而,这种方法需要测试数据库,这些数据库并不总是可用(oracle等昂贵/

java - 持续集成 : keeping the test DB schema up-to-date

我正在设置持续集成服务器(Hudson)来构建Java项目并运行相关的单元/集成测试。大多数这些测试访问数据库,测试数据保存在DbUnitXML文件中。我正在寻找一种自动使测试数据库架构保持最新的方法。目前,特定版本的SQL脚本存储在以版本命名的目录中:└───scripts├───0.1.0├───0.1.1├───0.1.2├───0.1.4例如0.1.4版本的SQL脚本为scripts\0.1.4\script-0.1.4.sql问题是这些脚本混合了模式更改(例如ALTERTABLE...)和对静态表的更改(例如向USER_TYPE表添加新角色)。在单元测试的情况下,我只想应用模

java - 哪个更好,ExpectedException 或 @Test(expected=

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭6年前。Improvethisquestion我有在jUnit中检查异常的代码。我想知道以下哪一项是良好的jUnit实践?首先@RulepublicExpectedExceptionexception=ExpectedException.none();@TestpublicvoidcheckNullObject()throwsCustomException{exception.expect(CustomException.class)

java - 缺少 "Run as JUnit Test"

我通过右键单击Java类并选择新建JUnit测试用例,在Eclipse中创建了一个JUnit4测试。当我右键单击测试类时,我得到“在服务器上运行”,但不是“作为JUnit测试运行”。我正在使用Eclipse3.6.1。 最佳答案 在我的例子中,Eclipse一定已经达到损坏状态。重新启动Eclipse解决了问题。 关于java-缺少"RunasJUnitTest",我们在StackOverflow上找到一个类似的问题: https://stackoverflo

java - 为什么 "test-jar"需要 "mvn compile"依赖项

我在多模块项目中使用test-jar依赖项时遇到问题。例如,当我像这样声明cleartk-syntax模块依赖于cleartk-token模块的test-jar时(完整代码是here):4.0.0org.cleartkcleartk-syntax0.5.0-SNAPSHOTcleartk-syntax......org.cleartkcleartk-token0.7.0-SNAPSHOTtest-jartest如果我使用maven2运行mvncompile,我会收到以下错误:[INFO]--------------------------------------------------

java - Maven 故障保护插件 : how to use the pre- and post-integration-test phases

我并不完全清楚如何最好地使用MavenFailsafe插件进行集成测试。我的用例是针对本地MySQL数据库测试SQL查询。据我所知,数据库应该在pre-integration-test阶段启动,并在post-integration-test阶段关闭。但是我该如何指定呢?我应该在我的pom.xml中放入命令行吗?或者我应该使用特定注释来注释的方法? 最佳答案 在常规built-inmavenlifecycles(jar,war...)pre-integration-test和post-integration-test测试阶段未绑定(b

java - "Inline assembly"用于 Java 字节码

我正在寻找以下想法的现有实现:假设有人想在普通Java程序中编写“内联汇编”字节代码(大多数相关应用程序将涉及Java中不可用的invokedynamic指令)。一种方法如下:voidfoo(booleanb){Labell1=Asm.label();Labell2=Asm.label();inti=Asm.no_int();Asm._const(0);Asm.store(i);l1.bind();Asm.load(i);Asm.push(10);Asm.if_cmpge(l2);Asm.getstatic("java/lang/System","out","Ljava/io/Prin

java - jUnit 中每个@Test 的不同拆解

有没有办法在jUnit中为每个@Test定义不同的拆解? 最佳答案 使用@After注释来指示在每个@Test之后要运行的方法。像这样的全套注释是:@BeforeClass-在所有@Tests运行之前@Before-在每个@Test运行之前@After-在每个@Test运行之后@AfterClass-在所有@Tests运行之后我刚刚意识到我可能没有理解这个问题。如果您询问如何将特定的拆解方法与特定的@Test方法相关联,则不需要注释:只需在测试方法的末尾以finally调用它:@TestpublicvoidsomeTest(){tr

python - 我可以在哪个 py.test 标注中找到 'item' 和 'report' 数据?

pytest_runtest_makereport()有两个参数,item和call。从item中,我可以找到我为这个测试创建的funcarg,从call中,我可以找到异常信息(如果有的话):defpytest_runtest_makereport(item,call):my_funcarg=item.funcargs['name']my_funcarg.excinfo=call.excinfo不幸的是,excinfo被填充用于失败和跳过。为了区分,我需要查看pytest_report_teststatus()的报告参数:defpytest_report_teststatus(repo