- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有简单 if/else block 的方法。在 if 和 else block 中都会调用私有(private)方法。
下面是我要为其编写单元测试用例的方法。
public void enableBLEScan() {
if (<some boolean expression which can be mocked>) {
initializeScan();
} else {
stopScan();
}
}
我可以轻松地 stub boolean 表达式的行为。
但我想检查 if else block 内的方法调用是否正确发生。我怎样才能做到这一点?
最佳答案
要点是:测试是否调用内部私有(private)方法...是编写单元测试时的反模式!
您不测试内部实现细节。对于您的测试来说,某些“面向外部”的方法如何执行其操作并不重要。换句话说,您有以下选择:
换句话说:每个“公共(public)”方法都应该有一个明确的、定义的含义。所以,如果你调用它们,它们就会产生明确的效果;应该观察/断言这种效果。
很可能您当前的设计确实支持这些想法。然后,认真地:考虑退一步并改变你的设计。因为:你创建了一些无法合理测试的东西。那么很可能……您的设计还存在其他问题。
关于java - 为 if else block 编写 jUnit 测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942288/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!