我正在为一些遗留代码编写单元测试,并且遇到了单元测试出现误报的情况。下面是一个简化的示例。
如果我忘记为DoSomething设置一个实现,我会希望下面的测试失败,并返回一个MockException。但是,异常实际上是由业务逻辑中的try/catch捕获的,因此测试似乎通过了。同样,VerifyAll也不会导致失败,因为该方法已被“调用”。
我找到了一个与此问题相关的,但似乎没有响应。
关于如何确保此测试有效,您有什么建议吗?
public class SUT
{
public ISystem iSystem { get; set; } // complicated web ser
如何在web API ASP.Net内核中对异常过滤器进行单元测试。我不想模仿onException方法。我在我的单元测试中模拟了ControllerContext,如下所示。从Web API调用的类库抛出由异常过滤器捕获的自定义异常,我想对此进行单元测试。今天我收到“值不在预期范围内”的错误。
public static ControllerContext GetMockControllerContext(
this Controller controller,
RouteData routeData)
{
var actio
我正在对一个类进行单元测试,如下所示:
class ClassUnderTest {
public SomeOtherClass var;
public String methodUnderTest(){
try {
//call to some other method that throws CustomException
String localvariable = var.someOtherMethod() //throws CustomException
// generic op
我有两个枚举:
public enum X {
INSTANCE;
private final Y y = Y.INSTANCE;
public boolean isfunc() {
return y.someMethod();
}
}
public enum Y {
INSTANCE;
public boolean someMethod() {
return true;
}
}
我已经通过使用白盒模拟为Y编写了一个单元测试类。但是,在为X编写单元测试用例时,我需要获得以下异常
我收到以下错误消息:
C
编辑:
我似乎试图为我自己的问题提供一些解决办法,从而模糊了整个问题。所以我要稍微修改一下这个问题。
假设我有这门课:
public class ProtocolMessage : IMessage
{
public IHeader GetProtocolHeader(string name)
{
// Do some logic here including returning null
// and throw exception in some cases
return header;
}
public