在不同的JUnit测试类之间共享数据的最佳方法是什么

时间:2015-03-16 06:48:03

标签: java json design-patterns junit

我正在为一个大型应用程序编写JUnit测试,并且这些对象太大而无法在代码本身内部进行初始化。所以我们决定将对象放在JSON文件中。

现在它更具可读性,代码也很干净。但是当我连接我的代码时,我理解可以在其他测试类之间共享相同的JSON文件。 我不想在每次测试中一次又一次地解析它。

我想过一个单身人士,但也许有更好的办法通过规则或继承来做到这一点?

2 个答案:

答案 0 :(得分:0)

你绝对应该更喜欢构图而不是继承。即“has-a”而不是“is-a”。因此,如果重新解析文件不可行,单身听起来并不可怕。确保单例是不可变的。如果需要在同一测试类中声明的两个不同测试用例之间共享字段,则可以使用静态。

不同测试用例之间的共享状态始终不同,因为它们应该在自己的隔离环境中执行,而不依赖于其他测试用例。

答案 1 :(得分:0)

您可以将系统属性设置为jvm,它是两个字符串之间的键值映射。字符串键可以指向字符串值,该值是要在测试类之间共享的json文件的绝对目录路径。如何分享比字符串更复杂的数据,我不确定它是如何或是否可能。