- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用多个私有(private)方法对一个类进行单元测试。每个私有(private)方法都可能相当广泛。
我可以将方法包范围化(这会导致警告),或者我可以使用下面的代码来测试它:
Method method = instance.getClass().getDeclaredMethod("methodName");
method.setAccessible(true);
Object object = method.invoke(instance);
assertNotNull(object);
这个类不是一个“上帝对象”,它的大部分方法都涉及它的所有领域。
关于如何更好地处理这个问题有什么建议吗?
最佳答案
测试私有(private)方法也可能是一种测试气味。
我的引用书是一本好书 http://www.manning.com/rainsberger/
您应该测试行为而不是方法:粒度有点不同。
Example 1 : to test a Pile, how do you test
push
andpop
without referencing each other? But testing the global behavior is possible. This reminds us that, even for testing, objects are the right granularity, not methods.Example 2 : when you want to test the interaction between several objects, testing method by method is clearly not correct, you want to test a global behavior.
如果一个方法不是公开的,它就不能被外界调用,它的行为也没有那么严格的定义。但最重要的是,如果您测试一个私有(private)方法,您以后将无法重构您的代码。所以应该只对公共(public)代码进行测试。
关于unit-testing - 单元测试时后门 java 访问的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1498695/
我使用 Xamarin Forms(Android) 创建了应用程序。我创建了 xamarin ui 测试项目( Xamarin.UiTest = 1.3.7)。我需要使用后门。这是我的代码: pub
我用“Win32 OpenSSL v1.0.1j Light”工具制作了 5 个“RSA 2048”私钥。(http://slproweb.com/products/Win32OpenSSL.html
我是一名优秀的程序员,十分优秀!