我正在尝试使用Web性能和负载测试项目从Visual Studio 2012加载测试我的WCF服务。我添加了一个Unit Test文件,如下所示,并使用Load Test执行它们。除了在我的测试对象中填充图像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;
}
提前感谢您的帮助。
答案 0 :(得分:0)
我无法弄清楚如何在负载测试期间从我的项目中引用文件,我找到了一个很好的解决方法。
我将图像添加到资源文件中并且运行良好。
它与虚拟用户如何交付测试有关,资源文件可用,但项目工件不可用。