【发布时间】:2020-09-08 22:47:46
【问题描述】:
我正在使用 EF 4 并尝试使用 Moq 对后续行进行单元测试:
var convertError = models
.Where(x => SqlFunctions.StringConvert((decimal?) (x.convert ?? 0)) == "0")
.Any();
如果SqlFunctions.StringConvert() 检测到上下文被模拟,它似乎会抛出。
它给出了一个错误提示:
此函数只能从 LINQ to Entities 调用
是否可以告诉SqlFunctions.StringConvert 返回一个模拟对象,这样我就可以摆脱这个错误?
【问题讨论】:
-
最好的办法是编写集成测试,一直到 DB 并以这种方式进行测试。
标签: c# unit-testing entity-framework-4 mocking moq