C# 函数被终止,Structuremap自动模拟未返回值

C# 函数被终止,Structuremap自动模拟未返回值,c#,structuremap-automocking,C#,Structuremap Automocking,使用Josh Flanagans,我正在尝试使用它,但可以获得以下代码来返回我指定的类别对象: [Test] public void Service_Should_Return_Category_From_ID() { // Arrange var categoryToTest = new Category() { ID = 1, Name = "Dep

使用Josh Flanagans,我正在尝试使用它,但可以获得以下代码来返回我指定的类别对象:

    [Test]
    public void Service_Should_Return_Category_From_ID()
    {
        // Arrange
        var categoryToTest = new Category()
            {
                ID = 1,
                Name = "Department 1",
                Description = "Department 1 description"
            };

            var mocks = new RhinoAutoMocker<CatalogueService>();
        mocks.Get<ICatalogueService>().Stub(c => c.GetCategory(1)).Return(categoryToTest);

        // Act
        var categoryResult = mocks.ClassUnderTest.GetCategory(1);

        // Assert
        Assert.IsNotNull(categoryResult);
        Assert.AreEqual(categoryToTest.ID, categoryResult.ID);
    }

我做错了什么?

我是在将返回值添加到被测试类的接口,而不是被注入的接口。

存根和模拟框架究竟在测试什么?在我看来,您只是在调用您所删除的方法,并验证它是否返回您刚才所说的应该返回的相同类别。更合适的测试是测试中间的一些逻辑,这些逻辑需要检索一个类别,并验证该逻辑是否有效。或我错过了什么?因为我非常确定,您使用的框架有许多单元测试来验证它们是否确实有效,所以您不必自己重复。