测试用例失败,但可以在WCF测试客户端中使用

时间:2019-02-27 17:46:05

标签: entity-framework unit-testing wcf

我有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测试客户端,一切正常,我得到了预期的设备列表。 从测试资源管理器运行测试时,没有任何设备。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

事实证明,我的测试类中没有指向正确数据库的连接字符串,而EntityFramework提供了一个默认字符串,即正在使用的默认字符串。