Тест NUnit под моно - PullRequest
       11

Тест NUnit под моно

1 голос
/ 03 июня 2010

У меня есть mut.cs следующим образом.

using System;

namespace ns
{
    public class Arith {
        public int Add(int x, int y) {
            return x + y;
        }
        public int Mul(int x, int y) {
            return x * y;
        }
    }
}

Я придумал для этого Юнит-тест - mut_test.cs

using NUnit.Framework;
using System;
using ns;

namespace Unit.Tests {
    [TestFixture]
    public class ArithTests {
        private Arith m_arith = null;
        [Setup]
        public void Setup()
        {
            m_arith = new Arith();
        }
        [Test]
        public void ValidateAdd()
        {
            int res = m_arith.Add(10,10);
            Assert.AreEqual(20, res);
        }
        [TearDown]
        public void TearDown()
        {
            m_arith = null;
        }
    }
}

Я выполнил следующую команду.

gmcs -debug -t:library -r:System -r:$NUNITLIB -out:mut.dll mut_test.cs mut.cs 

Но я получаю следующую ошибку. $ NUNITLIB называется псевдонимом $ NUNITLIB = $ NUNITBIN / framework / nunit.framework.dll

mut_test.cs(9,10): error CS0118: `Unit.Tests.ArithTests.Setup()' is a `method' but a `type' was expected
mut_test.cs(9,10): error CS0246: The type or namespace name `SetupAttribute' could not be found. Are you missing a using directive or an assembly reference?

Что может быть не так?

Ответы [ 2 ]

3 голосов
/ 03 июня 2010

Атрибут, который вы ищете, называется SetUp, а не Setup.

См. Здесь: Документация NUnit - Настройка

1 голос
/ 03 июня 2010

SetUp в NUnit имеет заглавную U .

Я ненавижу, что это пишется таким образом (даже если кажется, что правильно написано из-за того, что это глагол), но это источник вашей проблемы.

...