先日 TestLink の ML で川西さんから少し話が出た TestLink Adapter を早速試してみた。
これを使うと、C# や VB.NET を NUnit で単体テストした結果を自動で TestLink に蓄積することができるようになる。
環境
- TestLink 1.8.1 以上
- TestLink Adapter
- NUnit(今回は NUnit-2.4.8-net-2.0.msi を使用)
- Visual Studio 2008
Visual Studio 側の手順
1. ここから 「Nunit TestLink Exporter Binaries.zip」 をダウンロードする
2. 解凍したフォルダにある DLL を NUnit の addins フォルダ(通常は「C:\Program Files\NUnit 2.4.8\bin\addins」)にコピー
3. C# のプロジェクト作成でクラスライブラリを選択
4. 参照設定で「nunit.framework」と「TestLinkFixture」を追加
5. テストプログラムを作成
なお、パラメータは以下の通り
- Url:TestLink の XML-RPC サーバの URL(TestLink の URL + 「/lib/api/xmlrpc.php」)
- ProjectName:結果を登録するプロジェクト名
- UserId:テストケースの作成者に記載するユーザ名
- TestPlan:テスト計画名
- TestSuite:テストスイート名
- DevKey:APIキー
using NUnit.Framework; using Meyn.TestLink; namespace CalcTestNamespace { [TestFixture] [TestLinkFixture( Url = "http://localhost/testlink/lib/api/xmlrpc.php", ProjectName = "NUnitTest", UserId = "kaorun", TestPlan = "自動単体テスト", TestSuite = "NUnitTestResult", DevKey = "8213fe55d3122b3265d8b4012d2907f8" )] public class CalcTest { [Test] public void testAdd() { Assert.AreEqual( 1, 1 ); } } }
6. ビルドする
TestLink 側の手順
1. テストプロジェクトを作成する(一応「自動テスト機能」にチェックを入れた)
5. ビルドしたらコマンドプロンプトを開き、 Debug または Release フォルダに移って「nunit-console CalcTest.dll」を実行(C:\Program Files\NUnit 2.4.8\bin を環境変数に登録すると良い)
まとめ
という流れができた。
また、ローカルでの開発時は「TetsDriven.NET」を利用すれば結果が TestLink に反映されることもなさそうなので使い分けもできる。
プログラマからすると TestLink の導入は単体テストからのアプローチというのもアリではないかと思うところもあるので一つの方法として確立できればよさそう^^