我之前创建了许多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();
}

最佳答案

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

关于c# - 为什么我在MSpec中收到get_ConsoleOut()的MissingMethodException?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19940708/

10-12 05:51