0

ですから、私が作成した新しいクラスの単体テストを行うことを忘れてしまうのは本当に悪いことです。私はTDDを守るために最善を尽くしていますが、時々忘れてしまいます。私はテストを実行するのが得意です(ボタンが1つしかないため)。すべてのクラスの名前空間をスキャンし、それらが既知のクラスから派生しているかどうかを確認する方法はありますか。

例えば。Contactクラスがあります。Contactの3つのサブクラス(Shipping、Billing、Service)があります。3つすべての単体テストがあります。今から1か月後に、Contactから別のクラスを派生させることにしました。単体テストを実行することを忘れないようにするのは非常に得意ですが、この場合は、新しい連絡先クラスの単体テストを作成するように通知するために、1つのテストだけで失敗するようにします。何かのようなもの。

    [TestMethod, TestCategory("Contact")]
    public void TestAllContactsAccountedFor()
    {
        foreach(class c in theNamespace)
        {
            bool subclassOfContact = c is  Contact;
            if (subclassOfContact)
            {
                bool knownSubclass = (c is CustomerShippingContact) || (c is CustomerBillingContact) || (c is CustomerServiceContact);
                Assert.IsTrue(knownSubclass);

            }

        }
    }

このように、私がテストをするのを忘れた場合、それはこのテストに失敗し、それから私はそれを説明します。これについて何かアイデアはありますか?

4

2 に答える 2

6

コードでこれを解決するのではなく、テストのカバレッジの使用を調査することをお勧めします。特に、テストですでに使用されているコードベースの行をマークするnCrunchを見てください。これにより、mroeテストの作成が必要な行を簡単に特定できます。http://ncrunch.netを参照してください

于 2012-11-19T16:29:23.173 に答える
3

Mighty Moose、別名ContinuousTestsを試してみてください。これは、テストされていないコードについて実際に警告し、無料の.NET用の唯一のコードカバレッジツールです。

于 2012-11-19T16:33:21.283 に答える