0

我在 VS2010 Ulimate 中对负载测试进行单元测试时遇到问题。我想做的是测试 Add 和 Remove (to/from DB) 方法的性能。AddCompany 方法返回添加的公司,而不是我想将它放入一个集合(arraylist)中,然后在 RemoveCompany 中使用它。这个数组列表有问题。它在静态时适用于单元测试(我正在使用 OrderedTest),但是当我在 LoadTests 中使用此 OrderedTest 时会出现故障。这个数组列表应该是什么类型的字段以及它应该如何初始化?

[TestClass()]
public class ServiceProxyTest
{
    private TestContext testContextInstance;
    private static ArrayList temp = new ArrayList();
    private ServiceProxy target;

    [ClassInitialize]
    public static void MyClassInitialize(TestContext testContext)
    {
    }

    [TestInitialize]
    public void MyTestInitialize()
    {
        this.target = new ServiceProxy();

    }

    [TestMethod]
    [TestCategory("Unit")]
    [DataSource("System.Data.SqlClient", "...", "...", DataAccessMethod.Sequential)]
    public void AddCompanyTest()
    {
        Company companyDto = new Company
            {
               ...
        };

        var company = this.target.AddCompany(companyDto);
        temp.Add(company);

        Assert.InNotNull(company);
        Assert.AreEqual(companyDto.Name, company.Name);
    }


    [TestMethod]
    [TestCategory("Unit")]
    [DataSource("System.Data.SqlClient", "...", "...", DataAccessMethod.Sequential)]
    public void RemoveCompanyTest()
    {
        try
        {
            if(temp.Count > 0)
            {
                var company = temp[temp.Count - 1] as Company;
                this.target.RemoveCompany(company);
                Assert.IsTrue(true);
            }
            else
            {
                Assert.Fail("No items to delete");
            }

        }
        catch (FaultException)
        {
            Assert.Fail("FaultException thrown - something went wrong...");
        }
    }
}

任何人?

4

1 回答 1

1

他们建议这样做的方式是将 ArrayList 存储在 TestContext 中。您可以使用以下代码执行此操作: testContextInstance.Add("myArrayList", temp); 您可以使用 ArrayList temp = (ArrayList)testContextInstance["myArrayList"]; 检索它

于 2011-11-18T22:29:10.570 回答