c# - 如何在 new rhino mocks 3.5 中抛出异常

标签 c# unit-testing testing rhino-mocks

我正在使用 rhino mocks 3.5 并试图抛出异常以测试我的 catch block 中的某些功能。

但出于某种原因,它没有抛出异常。

_xyz.stub(x => x.function(string)).throw(new exception("test string"));

因此,我将对抛出异常的函数的调用 stub ,但它并没有抛出异常。

最佳答案

我不确定为什么它对您不起作用。我创建了一个小示例,它对我来说效果很好。看看这段代码:

首先,我创建了要测试的代码。

public interface IXyz
{
    void Foo();
}

public class Xyz : IXyz
{
    public void Foo()
    {
    }
}

public class Sut
{
    public void Bar(IXyz xyz)
    {
        xyz.Foo();
    }
}

接下来我要创建一个测试方法。在这种情况下,我使用的是 MbUnit,但它应该适用于任何单元测试框架。

    [Test]
    [ExpectedException(typeof(ArgumentException), Message = "test string")]
    public void BarFoo_Exception()
    {
        IXyz xyzStub = MockRepository.GenerateStub<IXyz>();
        xyzStub.Stub(x => x.Foo()).Throw(new ArgumentException("test string"));
        new Sut().Bar(xyzStub);
    }

希望对您有所帮助。

关于c# - 如何在 new rhino mocks 3.5 中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007819/

相关文章:

c# - 如果我不使用 IoC 容器,是否有比单例模式更好的选择来公开我的类的依赖项?

java - Junit 4 全局设置和拆卸

java - Maven 无法解析类 teSTLink.api.java.client.TestLinkAPIException

unit-testing - Grails 测试问题

c++ - 您将如何对内存分配器进行单元测试?

c# - 从邮件正文中选择文本是否有任何事件?

c# - Entity Framework Change Tracking API 和引用条目

c# - Google recaptcha 公钥和私钥

c# - ^= 运算符到底是做什么的?

ios - 如何为 UIViewControllers 编写单元测试用例?