是否有任何方法可以创建只能在 Junit 中使用的方法/承包商(仅用于测试目的)?
也许有注释?
最佳答案
对于仅用于测试的方法...为什么不将它们作为实际测试代码的一部分呢?至少在 Maven 等构建系统中,测试代码不包含在打包的 jar 中,并且仅作为源代码的一部分分发。从这个意义上说,它不能从普通类中调用,因为它根本不包含在最终的 .jar(或 .war)中。
我经常编写这样的方法来使我的测试代码更易于维护。
澄清一下:
src/
main/
java/
my/package/
MyClass.java <-- leave necessary protected accessors here
test/
java/
my/package/
MyClassTest.java <-- implement test-code here
并且在 MyClassTest
...
public class MyClassTest {
...
private static Foo doSomethingCoolButTesty(MyClass instance) {
// access protected or package-private MyClass code here
}
}
MyClassTest.doSomethingCoolButTesty
将与主代码分开,显然只能用于测试代码。是的,它比将它作为主要代码的方法更丑陋一些,但我发现要付出合理的代价。
关于java - 如何创建只能用于测试的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44872697/