Approval-Test抛出System.MissingMethodException异常

5

我正在尝试使用Approval-Tests,但是甚至无法运行“Hello World”。当我运行测试时,会出现以下错误:

Test Name:  TestHelloWorld
Test FullName:  HelloApprovalTests.Class1.TestHelloWorld
Test Source:    C:\Users\Lassi\Documents\Visual Studio 2015\Projects\HelloApprovalTests\HelloApprovalTests\Class1.cs : line 14
Test Outcome:   Failed
Test Duration:  0:00:00.01

Result StackTrace:  
at ApprovalTests.Namers.UnitTestFrameworkNamer..ctor()
   at ApprovalTests.Approvals.<.cctor>b__c()
   at ApprovalTests.Approvals.GetDefaultNamer()
   at ApprovalTests.Approvals.Verify(IApprovalWriter writer)
   at ApprovalTests.Approvals.Verify(String text)
   at HelloApprovalTests.Class1.TestHelloWorld() in C:\Users\Lassi\Documents\Visual Studio 2015\Projects\HelloApprovalTests\HelloApprovalTests\Class1.cs:line 15
Result Message: System.MissingMethodException : Method not found: 'System.Diagnostics.StackTrace ApprovalUtilities.CallStack.Caller.get_StackTrace()'.

我的课程是:

using ApprovalTests;
using ApprovalTests.Reporters;
using NUnit.Framework;

namespace HelloApprovalTests
{
    [TestFixture]
    [UseReporter(typeof(DiffReporter))]
    public class Class1
    {
        [Test]
        public void TestHelloWorld()
        {
            Approvals.Verify("Hello World Welcome to ApprovalTests");
        }
    }
}

我该怎么做才能运行它并创建一个文件?
1个回答

6

在Nuget安装时出现了一些问题。如果你更新ApprovalUtilities,它就能正常工作了。


1
不知怎么的,我原本使用的是3.0.1版本。现在已经更新到了3.0.11版本,现在它可以正常工作了。谢谢! - Lassi Autio
2
这是因为NuGet的默认依赖行为,即安装所依赖包的最低版本。由于看起来ApprovalTests 3.0.11需要至少ApprovalUtilities 3.0.11才能正常工作,因此应该将其添加到其清单中。 - ngm
为了方便起见,这里是包管理器控制台的命令,可以复制粘贴并运行: Update-Package ApprovalUtilities -version 3.0.11 - Victoria

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接