0

我正在测试一组类,到目前为止我的单元测试都是这样的

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。

4

2 回答 2

0

我能想到的是创建assert方法来检查某些系统属性是否执行断言:

 public static void assertTrue(boolean assertion, int assertionLevel){
     int pro = getSystemProperty(...);
     if (pro >= assertionLevel){
         Assert.assertTrue(assertion);
     }
 }
于 2013-05-14T10:57:13.930 回答
0

您需要报告/过滤您的单元测试结果。

jUnit 本身希望您的测试通过、失败或不运行 - 介于两者之间。

但是,它并不关心这些结果如何与构建通过/失败或报告相关联。使用 maven(surefire 执行插件)和一些自定义代码之类的工具,您可以对测试进行分类,以区分“硬故障”、“不好,但让我们继续”等。但这是基于测试结果而不是构建验证或报告测试。

(目前,我们的构建过程依赖于诸如 @Category(WorkInProgress.class) 之类的注解,用于每个测试方法来决定哪些是关键的,哪些不是)。

于 2013-05-13T20:39:03.940 回答