3

我之前创建了许多 MSpec 类,但是在我最近创建的文件中运行单元测试给出了以下错误。有没有人在他们的单元测试中遇到过这个问题?

System.MissingMethodException:找不到方法:'System.String Machine.Specifications.Result.get_ConsoleOut()'。

这是代码:

[Subject(typeof(UsersDao))]
public class query_for_a_specific_user
{
    private static Context context1;
    private static Filter queryFilter;
    private static List<User> users;

    Establish context = () =>
    {
        context1 = new Context() { DatabaseId = 1 };
        queryFilter = new Filter() { UserId = 1223 };
    };

    Because of = () => { users = UsersDao.GetUsers(context1, queryFilter); };

    It should_not_be_null = () => users.ShouldNotBeNull();
    It should_not_be_empty = () => users.ShouldNotBeEmpty();
}
4

1 回答 1

1

问题可能是 MSpec 运行程序和您的项目引用的 MSpec.dll 之间的版本不匹配。0.5.16(不记得确切)增加了对捕获控制台输出的支持,错误源于您的 MSpec.dll 还没有这种支持。您能否确保所有版本都与重新运行测试相匹配?

于 2013-11-13T15:55:25.433 回答