当前位置:  开发笔记 > 编程语言 > 正文

模拟对象不起作用

如何解决《模拟对象不起作用》经验,为你挑选了1个好方法。

如果你想测试checkAndReturnDoubleIfOk你不应该嘲笑它.

你所做的是错的 - 你是想模仿合作者,而不是被测试的课程.首先,您创建一个模拟,Product其中所有方法都被模拟(checkAndReturnDoubleIfOk也),然后尝试将其用作原始类.实际上你正在测试模拟的实现checkAndReturnDoubleIfOk.

你的代码应该是这样的:

@Test(expected = WrongCostFormat.class)
public void shouldThrowNumberFormatException() {
    Product p = new Product();
    p.checkAndReturnDoubleIfOk("1.234");     
}

当被测试的类使用另一个类时,应该被模拟的是另一个类.然后,您应该验证正在测试的类是否已与模拟类正确交互.



1> Paweł Adamsk..:

如果你想测试checkAndReturnDoubleIfOk你不应该嘲笑它.

你所做的是错的 - 你是想模仿合作者,而不是被测试的课程.首先,您创建一个模拟,Product其中所有方法都被模拟(checkAndReturnDoubleIfOk也),然后尝试将其用作原始类.实际上你正在测试模拟的实现checkAndReturnDoubleIfOk.

你的代码应该是这样的:

@Test(expected = WrongCostFormat.class)
public void shouldThrowNumberFormatException() {
    Product p = new Product();
    p.checkAndReturnDoubleIfOk("1.234");     
}

当被测试的类使用另一个类时,应该被模拟的是另一个类.然后,您应该验证正在测试的类是否已与模拟类正确交互.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有