Параметризованные тесты с тестовыми инструментами VS2010 - PullRequest
2 голосов
/ 09 ноября 2010

Можно ли писать параметризованные тесты с использованием инструментов тестирования VS2010 для Silverlight?

В обычном тесте NUnit это будет выполняться с использованием атрибутов TestCase ...

[Test]
[TestCase("myParam1")]
[TestCase("myParam2")]
[TestCase("myParam3")]
public void TestSomethingWithParameters(string myParam)
{
  // ...some tests using myParam
}

Возможно ли это с помощью инструментов тестирования VS2010?

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Нет, это невозможно.Следующая лучшая вещь - это использование тестов, управляемых данными, например,

http://callumhibbert.blogspot.com/2009/07/data-driven-tests-with-mstest.html

Ознакомьтесь также с документацией MSDN .

0 голосов
/ 26 февраля 2013

Вы можете создать базовый класс с методом теста и параметрами в качестве виртуальных свойств. Когда вы наследуете от этого класса, вам нужно только переопределить свойства желаемыми значениями. Пожалуйста, смотрите образец кода:

public class Operation
{
    public static int Add(int x, int y)
    {
        return x + y;
    }
}

[TestClass]
public class AddTests : WorkItemTest
{
    protected virtual int First{get { return 0; }}
    protected virtual int Second{get { return 0; }}

    [TestInitialize]
    public virtual void Init()
    {
        //Init code
    }

    [TestCleanup]
    public virtual void Clean()
    {
        //Clean code
    }

    [TestMethod]
    [Description("x+y = y+x")]
    public virtual void Test_operation_commutativity()
    {
        Assert.AreEqual(Operation.Add(Second, First), Operation.Add(First, Second));
    }
}

[TestClass]
public class AddPositiveTest : AddTests
{
    protected override int First { get { return 1; } }
    protected override int Second { get { return 2; } }
}

[TestClass]
public class AddNegativeTest : AddTests
{
    protected override int First { get { return -1; } }
    protected override int Second { get { return -2; } }
}
...