NUnit 2.4.7

以前に紹介した RowTest Extension for NUnitNUnit 2.4.7 に組み込まれています。

NUnitインストール先\bin\nunit.framework.extensions.dll を参照設定に加えると使用できます。MSTestのようにDBに接続してとまではいきませんが、これでデータドリブンテストが可能になります。

using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
using NUnit.Framework.Extensions;

namespace LearningNUnit.Tests.ConstraintModel
{
    [TestFixture]
    public class ExtensibilityTest
    {
        [RowTest]
        [Row(1000, 10, 100.0000)]
        [Row(-1000, 10, -100.0000)]
        [Row(1000, 7, 142.85715)]
        [Row(1000, 0.00001, 100000000)]
        [Row(4195835, 3145729, 1.3338196)]
        public void データドリブンテストが成功すべき(double numerator, double denominator, double result)
        {
            Assert.That(numerator / denominator, Is.EqualTo(result).Within(0.00001));
        }
    }
}

実行結果

#後で書いた

RowTestの場合は、ExpectedException属性が無視されてしまうようだ。よく考えてみると仕方がないように思える。