.Net在负载测试中使用单元测试

时间:2013-02-20 18:09:01

标签: .net unit-testing load-testing

我迫切需要在负载测试中使用单元测试。

如何在运行每个测试方法后保存单元测试类的全局变量?例如,我在单元测试类中有一个全局变量,TestMethod1修改了这个变量,我希望TestMethod2在运行后调用它(由负载测试的虚拟用户)时可以使用这个变量(带有修改后的值) TestMethod1。

我的负载测试的设置:测试混合模型基于顺序,负载模式是常量(5个用户),运行设置:使用指定的迭代(迭代= 5 *方法的数量)。

我使用VS2012 ultimate。

你有什么想法吗?

提前致谢!

龙边

2 个答案:

答案 0 :(得分:1)

使用全局变量让单元测试相互交互不是一个好习惯。每个单元测试都应该运行原子,并测试特定的行为。

如果您需要共享某种设置行为,我会使用SetUp属性。

[TestInitialize]
public void Setup()
{
    // initialize whatever common functionality for your tests
}

您不希望让测试用例彼此依赖,因为根据测试运行器设置(例如并行),测试的顺序可能不同。

如果您有特定于测试的设置行为,我会为该特定测试制作专用测试类。

答案 1 :(得分:0)

您可以查看使用Specflow或Storevil等BDD工具。这些可以设置测试“场景”,您可以使用这些场景来协调现有的单元测试,同时让它们孤立地运行。

对于上下文共享,这两个工具都支持整个场景的数据存储,测试可以将数据推送到或从中获取数据。这需要自己修改测试,它们不再是真正的单元测试,但听起来不像单元测试是你的目标。