0

これは厄介な問題のように思われるので、私はおそらくこれに対して多くの憎しみを抱くでしょうが、ここでは何も起こりません:

私が取り組んでいるアプリケーションは外部APIに大きく依存しており、そのAPIが何かを実行するには、パーソナライズされた開発者キーが必要です。これにより、私のようなnewbをテストしているユニットが、開発者キーが危険にさらされる可能性があることを常に恐れずに再配布できるテストを作成することが特に困難になっています。

私のポイントはこれです:開発者キーが提供されていない場合、ユニットテストが実行されないようにしたいのです。また、これが発生した場合、それはアプリケーションエラーではなく、ユーザーエラーであることも明確にする必要があります。

これは、MSTestフレームワークを使用して簡単に実行できることですか?

私がこれまでに試したこと(VB)

現在、開発者キーが設定されていない場合、テストを失敗させています。

<TestClass()> Public Class Tests

    Private Shared DeveloperKey As NMAKey

    <ClassInitialize>
    Public Shared Sub Initialize(context As TestContext)
        DeveloperKey = NMAKey.TryParse("Your developer key")
    End Sub

    <TestMethod>
    Public Sub Example()
        ' test condition
        Assert.IsNotNull(DeveloperKey)

        '
        ' actual test code that relies on 'DeveloperKey' being set
        '
    End Sub

End Class

これに関する私の問題は、ユーザーエラーと実際のユニット障害の区別がないことです。

4

1 に答える 1

0

おそらく、開発者キーを構成ファイルに入れ、バージョン管理でそのファイルを無視する必要があります。個々のテストではなく、テストクラスの初期化でキーが見つかったかどうかを確認できます。もう1つの可能性は、構成ファイルにキーが存在することを確認するテストを作成することです。ユーザーエラーとアプリケーションエラーを区別することが重要だと考える理由がよくわかりません。壊れているのは壊れています:)

于 2013-03-19T11:00:37.340 に答える