いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

DevExpress奮闘記-097 (TDD with CodeRush, テスト駆動型開発, VSTest, NUnit)


DevExpressのブログにて、CodeRushのTDD機能についての記事が上がっていたのでメモメモ。


CodeRushには、TDDを促進するための機能があり利用するとテストクラスなどの記述が
楽になります。たとえば、"tc"と入力してからスペースを押すと、以下のテンプレートが自動的に展開されます。
("TestClass"の略ですね。また、テストメソッドを作成する場合は、"tm"スペースとなります。(TestMethod))

  [TestFixture] 
  public class Tests 
  { 
      [Test] 
      public void Test() 
      { 
          
      } 
  }

当然、クラス名とメソッド名の部分には、名称置換用のプレースホルダーがついている状態となっていますので
クラス名を入力してエンター、メソッド名を入力してエンター、でテストメソッドの内部に自動的にカーソルも移動します。


で、このテンプレート展開ですが、現在の参照設定を見ながら適切なテンプレートを適用してくれます。
上記のケースは、NUnitの場合ですが、VSTestの場合は以下のようになります。

  [TestClass]
  public class Tests
  {
    private TestContext testContextInstance;

    /// <summary>
    ///Gets or sets the test context which provides
    ///information about and functionality for the current test run.
    ///</summary>
    public TestContext TestContext
    {
      get
      {
        return testContextInstance;
      }
      set
      {
        testContextInstance = value;
      }
    }
    [TestMethod]
    public void Test()
    {
      
    }
  }


以下、元ネタのブログ記事にも載っているショートカットキーです。
コレ知らないと、スピードが半減します。

ショートカット 動作
Ctrl-T,S ソリューション内のテスト実行
Ctrl-T,P 現在のプロジェクト内のテスト実行
Ctrl-T,C 現在のクラス内のテスト実行
Ctrl-T,F 現在のファイル内のテスト実行
Ctrl-T,T Test Runnerウィンドウを表示


ちなみに、設定画面にてVSのテスト実行ショートカットキーと同じキーバインドにすることも出来ます。
設定画面のツリー「IDE」→「Shortcuts」にて、「UnitTesting」のフォルダを探します。
フォルダを開くと、「Visual Studio Style」というのがあるので、このフォルダを有効化すると
VSと同じキーバインドでCodeRushでもTestRunnerが走ります。


補足)
CodeRushにて、テストツールにてNUnitを利用する場合、設定画面にてNUnitアセンブリ
場所を指定していない場合は、テスト実行時に警告ウィンドウが表示されます。
設定は、CodeRushの設定画面の左のツリー「Unit Testing」→「Test Runner」から設定します。
画面下の「Test providers options」にて、利用するツールのパスを設定します。




================================
過去の記事については、以下のページからご参照下さい。