C# 函数被终止,Structuremap自动模拟未返回值
使用Josh Flanagans,我正在尝试使用它,但可以获得以下代码来返回我指定的类别对象: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
[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);
}
我做错了什么?我是在将返回值添加到被测试类的接口,而不是被注入的接口。存根和模拟框架究竟在测试什么?在我看来,您只是在调用您所删除的方法,并验证它是否返回您刚才所说的应该返回的相同类别。更合适的测试是测试中间的一些逻辑,这些逻辑需要检索一个类别,并验证该逻辑是否有效。或我错过了什么?因为我非常确定,您使用的框架有许多单元测试来验证它们是否确实有效,所以您不必自己重复。