问题标签 [moq-rt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DateTimeOffset 类型的模拟属性导致 Windows 应用商店测试库中的 InvalidProgramException
我刚开始使用 Windows Store 应用程序,并决定在我的项目中使用测试驱动开发。由于我之前对 NUnit 有过一些经验,因此我选择了这个库,然后我开始使用 MoqRT,它是一个网站推荐的模拟库,作为用于 Windows 应用商店应用程序的模拟库。
我面临的问题是当我模拟一个具有 aDateTimeOffset
作为属性类型的对象时。我收到以下异常:
System.InvalidProgramException:公共语言运行时在 Castle.Proxies.ITimeProxy_1.get_Expires()检测到无效程序...由于清晰而删除了堆栈跟踪的其余部分
现在,这只发生在我DateTimeOffset
在属性上使用类型时,并且模拟例如字符串属性可以很好地工作。
如果我继承ITime
并使用它而不是 Mock,一切都很好。
在搜索这个时,似乎异常的主要问题与“方法太大”有关,但是看到这仅发生在类型的属性上,DateTimeOffset
我看不出这会如何影响我的测试,因为其他属性应该失败以及是否与此有关。
另一件事是我正在使用 NUnit 应用程序运行测试,因为测试不会在 Visual Studio 2012 中运行,因为它是 Windows Store 应用程序(这是另一个问题)。我不知道这是否也会影响行为。
我要问的问题是;DateTimeOffset
有没有办法在不引发异常的情况下模拟具有类型属性的接口?