7

让我们面对现实吧,编写 bean 属性测试可能是最糟糕的时间利用方式。但他们需要完成。

例如。如果为如下调用测试String属性:propName

testProperty(target, "propName", String.class);
testProperty(target, "propName", String.class, "expected initial");

将验证:

  • getset方法存在。
  • 如果使用期望值,则测试get调用assertEquals给定值。
  • ( get, is)/set方法的行为符合预期。

我可以开始编写这些实现,但我想知道是否有可用的东西来促进这一点。其他可选属性可用于验证null是否允许或使用 JSR-303 bean 验证来验证字段。

4

4 回答 4

7

有很多现有的代码库/片段可以让这更容易。在进行快速搜索时,我发现了一些有潜力的:

我见过有人拿我列出的第一个例子(很好而且简单,因为它只是一个类)并修改它以更好地满足他们的需求。

于 2012-08-08T21:08:44.957 回答
0

如果您想手动执行 或参考此答案以获取公共 信息,我可以考虑使用反射:

getter 和 setter 的 junit 测试方法

于 2012-08-08T03:38:34.860 回答
0

创建另一个 bean,使其看起来像您测试过的 bean。然后使用 apache-commons、festAssert、hamcrest 或任何其他可以使用反射进行比较的框架。不要自己写,我确定它已经完成了

于 2012-08-08T21:01:24.760 回答
0

更新到上面的 javabean-tester

上面提到的(但死的)codebox/javabean-tester有一个活动的 fork 项目,看起来相当不错......

于 2017-06-22T12:35:07.357 回答