【发布时间】:2019-07-21 12:46:41
【问题描述】:
我有一个 WCF 服务,并且我已经编写了一些基本的测试用例。他们调用数据库并返回一些值。这是一个:
public void TestGetDevicesByToteNumber()
{
IService1 service = new Service1();
List<Device> devices = service.GetDevicesByToteNumber(5467);
Assert.IsTrue(devices.Count > 0);
foreach (Device device in devices)
{
Assert.IsTrue(device.ToteNumber == 5467);
}
}
实现是:
private ZebraServiceApplication.DAL.DHLScannerContext db = new ZebraServiceApplication.DAL.DHLScannerContext();
public List<Device> GetDevicesByToteNumber(int toteNumber)
{
List<Device> devices = db.Devices.Where(x => x.ToteNumber == toteNumber).ToList();
return devices;
}
使用 WCF 测试客户端一切正常,我得到了预期的设备列表。 当我从测试资源管理器运行测试时,我没有得到任何设备。 任何帮助将不胜感激。
【问题讨论】:
-
我遇到过这个问题。原因是执行连接数据库的帐户和运行应用程序的帐户之间的差异导致此问题。请确保应用程序身份具有连接数据库的特权/权限。
标签: entity-framework unit-testing wcf