【问题标题】:Test case fails but works in WCF Test Client测试用例失败但在 WCF 测试客户端中工作
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2011-04-17
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 2013-12-07
    • 2019-01-09
    相关资源
    最近更新 更多