nunit-console не может отсоединить прибор - PullRequest
0 голосов
/ 24 декабря 2010

у меня 2.5.8 и VS2010

Я хочу запустить тесты для DLL, и если я наберу

nunit-console a.dll

У меня также есть эти люксы

public class AllTests
{
    [Suite]
    public static IEnumerable Suite
    {
        get
        {
            List<Type> suite = new List<Type>();
            foreach (Type testCase in UnitTests.Suite)
            {
                suite.Add(testCase);
            }
            return suite;
        }
    }
}

и

public class UnitTests
{
    [Suite]
    public static IEnumerable Suite
    {
        get
        {
            List<Type> suite = new List<Type>();
            suite.Add(typeof(LicenceManagerTests));
            suite.Add(typeof(CertManagerTests));
            return suite;
        }
    }
}

Если я хочу запустить тесты, используя наборы, я набираю

nunit-console a.dll /fixture=AllTests.Suite

но с сообщением не получается

Невозможно найти прибор AllTests.Suite

Если вам интересно, почему я пользуюсь Сьютами, я не знаю. Мы используем MSBuild в нашем проекте, и это требование MSBuild, я думаю.

Любая помощь приветствуется. С уважением.

Ответы [ 2 ]

1 голос
/ 24 декабря 2010

предшествовать вашему классу с помощью следующего тега [TestFixture]

Я думаю, это то, чего не хватает,

Пока я не пользовался люксами. Но мои обычные юнит-тесты напоминают что-то вроде этого

[TestFixture]
public class A
{
//Properties
[Setup]
public void Setup()
{
//Setup code before each test, usually to set any constants, properties defined above
}
[Test]
public void TestA()
{
//test code
Asset.IsTrue(<func()>);
}

} 

и запустите тест как nunit-console nunit.tests.dll [что бы ни генерировал dll]

Скажите, поможет ли это

0 голосов
/ 27 декабря 2010

Я нашел решение.

Хитрость в пространстве имен. Пространство имён всех классов и юнитестов должно быть

"Suites".

В противном случае я продолжаю получать "не могу найти" .. Привет

...