可以';t在vs2012负载测试期间从项目中加载图像

本文关键字:项目 图像 加载 测试 负载 vs2012 可以 | 更新日期: 2023-09-27 18:24:13

我正在尝试使用Web性能和负载测试项目从Visual Studio 2012加载测试我的WCF服务。我添加了一个单元测试文件,如下所示,并用负载测试执行它们。除了在我的测试对象中填充一个image byte[]之外,一切似乎都很好。

单元测试

    [TestMethod, TestCategory("WCF - Primary Tests")]
    public void EventItem_Insert()
    {
        //Arrange
        var service = new EventServiceReference.ServiceContractClient();
        var item = UnitTestHelpers.EventItemFactory(Guid.NewGuid(), Guid.NewGuid());
        Debug.WriteLine(item.Data.Length.ToString());
        //Act
        Guid pk = service.SaveEventItem(item);
        //Assert
        Assert.AreNotEqual(Guid.Empty, pk, "The key returned is empty");
    }

从EventItemFactory调用图像加载例程的代码段。

EventItem.Data = (byte[])LoadTestImageFromProject();

问题所在的代码。这在我从测试资源管理器运行单元测试时有效,但在从负载测试调用时抛出无效参数。

    public static byte[] LoadTestImageFromProject()
    {
        FileInfo fileInfo = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);
        string file = Path.Combine(fileInfo.DirectoryName, @"Assets'bg.JPG");
        Bitmap bmp = new Bitmap(file);
        ImageConverter converter = new ImageConverter();
        byte[] byteArray = (byte[])converter.ConvertTo(bmp, typeof(byte[]));
        return byteArray;
    }       

提前感谢您的帮助。

可以';t在vs2012负载测试期间从项目中加载图像

在负载测试期间,我不知道如何引用项目中的文件。我确实找到了一个很好的解决方法。

我把这些图片添加到一个资源文件中,效果非常好。

这与虚拟用户如何提交测试有关,资源文件可用,但项目工件不可用。