理解使用visual studio 2010进行单元测试

本文关键字:2010 单元测试 studio visual | 更新日期: 2023-09-27 17:50:31

我需要单元测试方面的帮助。我从来没有通过Visual studio做过代码单元测试,也找不到任何视频或阅读材料来说明如何使用Visual studio 2010 Professional创建一个代码单元测试。我找到的所有东西都以某种方式参考了测试中心,我没有它,也不能得到它的完整版本(破产学生)。当我尝试进行单元测试时,我看到所有这些额外的东西都生成了,我不理解其中的任何一个,我可以告诉你,其中一些必须在生成后更新,但不知道给定情况下要更新什么。有任何免费的资源,我可以使用,将告诉我如何做一个单元测试?我甚至很乐意从头开始学习如何制作它们。

理解使用visual studio 2010进行单元测试

首先要理解的是,c#中的单元测试是通过引用支持单元测试的库来创建和运行的。微软提供了MSTest,而且还有其他选择。一个很流行的是NUnit。

大多数测试框架都使用属性。在此上下文中,属性是使用方括号装饰代码的位:

[ThisIsAnAttribute]
public void ThisMethodIsDecoratedWithAnAttribute(){}

属性提供可以在运行时使用反射检索的附加信息。反射允许您检查代码的结构和代码中的类型。

大多数测试框架使用两个主要概念。1)"Fixture"是"一组测试"的时髦说法,2)"Test"。fixture由带有fixture属性的类表示,测试由带有test属性的方法表示。

这些测试显然是在测试某些东西,所以这里还需要两个东西。1)你正在测试的东西,2)一种"断言"测试通过或失败的方法。

所以你测试的只是代码。一般来说,这应该是一小段独立和隔离的代码。测试不应该真正超过最多20行(尽管记住永远不要说永远)。

要断言测试通过或失败,您可以使用测试框架中的一个类来反馈测试成功。这通常被称为Assert,并且是静态的。

因此,要断言测试结束时的值是某个值,您可以说:

Assert.IsEqualTo(5, myResultVariable);

Assert类有很多方法。这些将在各种条件下进行测试。它是否为空,它是否等于,它是否等于,诸如此类。

要运行测试,您需要使用框架的运行器。这将获取代码并报告结果。

这是一个简单的MSTest单元测试。

[TestClass]
public class MathTestsForSimpleOperators
{        
    [TestMethod]
    public void TestThatAdding3To8Equals11()
    {
        Assert.AreEqual(11, 3 + 8);
    }
}

您可以看到fixture被称为MathTestsForSimpleOperators(是描述性的),它有一个名为TestThatAdding3To8Equals11的测试。这不是一个有用的测试,但它有你需要的所有部分。

这是一个链接到NUnit的入门页。MSTest使用起来同样简单。它将带您一步一步地安装、编写和运行测试。NUnit入门页

http://code.tutsplus.com/articles/the-beginners-guide-to-unit-testing-what-is-unit-testing--wp-25728

也许吗?

另一个建议,尝试自己做事情,当你遇到困难时,不要犹豫,问问这个社区。但是,不要只要求对你的项目的全部帮助。

Poom