c# - Noda 时间单元测试 XML 错误

标签 c# xml unit-testing nodatime

我正在尝试使用 Noda Time 设置一个简单的单元测试。我的代码是:

public void ValidityPassedDate()
{
    FakeClock fakeClock = new FakeClock(SystemClock.Instance.Now);
    fakeClock.AdvanceDays(60);
    MyClass myObj = new MyClass(fakeClock); 
    myObj.Validity = "1";
    myObj.Date = SystemClock.Instance.Now.InZone(DateTimeZoneProviders.Tzdb.GetSystemDefault()).LocalDateTime.Date;

    Assert.IsTrue(myObj.ValidityIsValid);
}

但是当我尝试构建测试时出现此错误:

error CS0012: The type 'System.Xml.Serialization.IXmlSerializable' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=----------(I erased this on purpose)'.

我该如何解决这个问题?少了什么东西? VS2013 将错误指向 "FakeClock fakeClock =..."

中的 FakeClock 类型

最佳答案

您需要向 System.Xml 程序集添加一个reference(不是 System.Xml< 的 using 指令)/ 命名空间)。在解决方案资源管理器中执行此操作 - 这不是代码问题。

这很不幸,但据我所知,这是 Noda Time 实现 XML 序列化的不可避免的副作用……大概是由于用于装饰类型的属性。

关于c# - Noda 时间单元测试 XML 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28220624/

相关文章:

c# - 修改 LINQ 输出 AnonymousType 无法赋值

C# WPF - 自定义调整大小

c# - LINQ to XML - Elements() 有效但 Element(Name) 无效

java - xml 日期和时间字符串上的 XStream 转换异常

ios - 在 iOS 中使用 ARC 对 dealloc 进行单元测试

java - 在 maven java 项目运行时获取激活的配置文件名称列表

c# - 适用于 .NET 的 Google Analytics API

java - 简单的Xml列表解析问题

javascript - 有没有办法正确模拟单元测试的重新选择选择器?

c# - Windows XP 上的 Windows API 代码包向后兼容性