public class MyClass {
public String myMethod(ObjectString arg) {
ans = (String) arg;
return ans;
}
}
public class MyClassTest {
@Test
public void myMethod_should_convert_to_string() {
MyClass testMyClass = new MyClass();
ObjectString mockObjectString = Mockito.mock(ObjectString.class);
String expected = "expected string returned";
Mockito.when(mockObjectString.IS_CAST_TO_STRING).thenReturn(expected);
String actual = testMyClass.myMethod(mockObjectString);
Assert.assertEquals(expected, actual);
}
}
ObjectString
的实例永远不能强制转换为String
。String
不从任何名为ObjectString
的类继承,也不实现任何名为ObjectString
的接口。转换为String
将始终引发ClassCastException
,除非Arg
为Null
。
另一方面,如果测试中的类如下所示:
public class MyClass {
public String myMethod(final Object arg) {
final String ans = (String) arg;
return ans;
}
}
然后,您可以在没有Mockito的情况下实现您想要的目标:
@Test
public void myMethod_should_convert_to_string() {
MyClass testMyClass = new MyClass();
String expected = "expected string returned";
String actual = testMyClass.myMethod(expected);
assertEquals(expected, actual);
}
我有一个带有泛型参数的抽象测试类。 我已经实现了它的一个具体测试类。 方法签名如下所示 当运行时,我得到一个说 为什么?我有什么办法可以解决这个问题吗?
由来 Hutool中类型转换最早只是一个工具类,叫做“Convert”,对于每一种类型转换都是用一个静态方法表示,但是这种方式有一个潜在问题,那就是扩展性不足,这导致Hutool只能满足部分类型转换的需求。 解决 为了解决这些问题,我对Hutool中这个类做了扩展。思想如下: Converter 类型转换接口,通过实现这个接口,重写convert方法,以实现不同类型的对象转换 ConverterR
我有下课情节。在测试MyTestableClass时,我希望处理Autowired类。我只想模拟AutoWired类中的变量。 示例类如下- 例如,Console在返回true之前应该给我“inside Service class”。 提前道谢!
我在一次测试中试图使用一个模拟类,但出现了以下错误: 在pom中: (也试用了3.0.0版) 车辆等级: 测试类:
问题内容: 我有一个仅接收单个文件,查找与之相关的文件并打开它的类。遵循以下原则 在我的单元测试中,我希望能够测试someMethod()而不必将物理文件放在某个地方。我可以模拟fileOne并将其传递给构造函数,但是由于在构造函数中正在计算fileTwo,因此我无法对此进行控制。 我可以模拟方法findRelatedFile()-但这是最佳实践吗?在这里寻找最佳设计,而不是寻求实用的解决方法。我
这里,在引擎盖下调用。因此,我需要我的模拟实例返回(指示失败的auth),或者在发生意外情况时抛出。 你知道我该怎么做吗?