gpt4 book ai didi

c# - 新的 HttpConfiguration(); Nunit 失败但 MsTests 失败

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:44 25 4
gpt4 key购买 nike

我正在尝试使用 Nunit 创建一个测试项目来测试我的 Webapi 1 路由。问题是我总是遇到这个异常:

An exception of type 'System.IO.FileNotFoundException' occurred in System.Net.Http.Formatting.dll but was not handled in user code

Additional information: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.

我已尝试使用 MsTests(一个新的测试项目)运行代码,但没有出现异常。

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Web.Http;
using NUnit.Framework;


namespace UnitTestProject1
{
[TestFixture]
[TestClass]
public class UnitTest1
{
[Test]
[TestMethod]
public void TestMethod1()
{
var config = new HttpConfiguration();
}
}
}

所以在那个例子中我可以同时运行 MsTest 和 Nunit。 MsTest 工作正常,但 Nunit 不行。有谁知道为什么?我也尝试过使用 Gallio + MBUnit 但它不起作用。

更多信息:框架目标:.net 4.0System.Web.Http 版本 4.0.0

最佳答案

只需添加对 Newtonsoft.json 的引用并在 app.config/web.config 中添加以下行:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>

似乎对于 MsTests 这些步骤不是必需的,但对于 Nunit 它们是必需的。如果我尝试从普通的 ConsoleApplication 创建此对象,则同样的修改适用。

关于c# - 新的 HttpConfiguration(); Nunit 失败但 MsTests 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com