Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Резюме для программиста

15.10.21 19:43
Re: Резюме для программиста
 
alex445 старожил
в ответ alex445 15.10.21 19:36, Последний раз изменено 15.10.21 19:53 (alex445)

Мне лень считать, я сделал так. Тестовые значения одинаковые для нескольких тестов - их в источник тестовых данных. Ожидаемые значения - рассчитываю - банальное сложение с базовым значением. Эта же логика и в тестируемом коде - сложение с базовым значением. Этим я повторяю логику, которую тестирую в тестируемом коде. Потом сравниваю ожидаемые и полученные в результате работы тестируемого кода.


Вот, упростил по сравнению с предыдущим примером, чтобы меньше кода было.


[TestFixture]
class CharacterStatTests
{
    CharacterStat _charStat;
    readonly double _baseValue = 10;

    readonly static double[] _testValues = { 2, -2, 0, 10.1, -20.2 };

    [SetUp]
    public void Setup()
    {
        _charStat = new CharacterStat(_baseValue);
    }

    [TestCaseSource(nameof(_testValues))]
    public void AddModifierTest(double test)
    {
        var result = _charStat.AddModifier(test); // logic being tested
        var expected = _baseValue + test; // here repeat the logic from the logic being tested

        Assert.AreEqual(result, expected);
    }
}


Так можно делать, т.к. здесь банальные рассчёты, типа сложения, вычитания, умножения и деления, которые зависят от языка и фреймворка и которые тестировать не надо (они уже оттестированы). Поэтому на них "можно положиться".

 

Перейти на