在哪里放置我需要进行测试的功能?

时间:2011-07-16 04:43:28

标签: java unit-testing

我有几个Java类,它们都有blackbox测试用例,只运行该类的公共API。要编写一些whitebox测试用例,我需要编写一些不属于公共API的getter,但需要对测试类可见。

我该如何处理这些功能?

3 个答案:

答案 0 :(得分:5)

您可以将getters包设为默认值,并将测试类放在同一个包中。

答案 1 :(得分:0)

“包默认”答案是一种合理的方法,但我质疑为主要来源添加任何内容仅用于测试。我还质疑你所谓的“白盒”测试类的必要性。如果其他对象总是通过其公共API与您的类的对象进行交互,为什么还要测试除此之外的任何东西?我的建议是你放弃这种方法并坚持只测试你的公共API。

答案 2 :(得分:0)

我经常突破并将“仅代码”部分公开为public static方法,因此代码可以进行单元测试。它对我有用。