我在 Visual Studio 2010 中设置了一个简单的测试项目。对于单元测试,我使用 nunit 2.6.1 并模拟我通过 NuGet 安装的 FakeItEasy 1.7.4582.63。
我尝试使用以下代码伪造 DbDataAdapter:
using System.Data.Common;
using FakeItEasy;
using NUnit.Framework;
namespace huhu
{
[TestFixture]
public class Class1
{
[Test]
public void test1()
{
A.Fake<DbDataAdapter>();
}
}
}
当我使用 .NET framework 3.5 运行测试时,一切正常并且 test1 将通过。但是,当我将框架版本设置为 .NET 4.0 时,出现以下异常:
FakeItEasy.Core.FakeCreationException :
Failed to create fake of type "System.Data.Common.DbDataAdapter".
Below is a list of reasons for failure per attempted constructor:
No constructor arguments failed:
No default constructor was found on the type System.Data.Common.DbDataAdapter.
The following constructors were not tried:
(*System.Data.Common.DbDataAdapter)
Types marked with * could not be resolved, register them in the current
IFakeObjectContainer to enable these constructors.
任何如何使事情在 .NET 4.0 中工作的想法都值得赞赏!
再见,约尔格