我正在测试一组类,到目前为止,我的单元测试都是
1. read in some data from file X
2. create new object Y
3. sanity assert some basic properties of Y
4. assert advanced properties of Y
这些测试中大约有30个,可以检查的Y的输入/属性不同。但是,在当前项目状态下,它有时会在#2处崩溃或在#3处已经失败。它永远不应该在#1崩溃。目前,我接受了#4的所有失败。
我想要,例如查看在#3失败的单元测试列表,但到目前为止忽略了#4失败的所有单元测试。创建此标准的标准方法/术语是什么?我在Eclipse中使用JUnit for Java。
答案 0 :(得分:0)
您需要报告/过滤您的单元测试结果。
jUnit本身希望你的测试通过,失败或不运行 - 介于两者之间。
但是,它并不关心这些结果如何与构建或报告的传递/失败相关联。 使用maven(surefire执行插件)和一些自定义代码等工具,您可以对测试进行分类,以区分“硬故障”,“坏”,“让我们继续”等等。但这是基于测试结果的构建验证或报告而不是测试
(目前,我们的构建过程依赖于@Category(WorkInProgress.class)等注释来为每个测试方法决定什么是关键,哪些不是。
答案 1 :(得分:0)
我能想到的是创建assert
方法,检查一些系统属性是否执行断言:
public static void assertTrue(boolean assertion, int assertionLevel){
int pro = getSystemProperty(...);
if (pro >= assertionLevel){
Assert.assertTrue(assertion);
}
}