DscTestsPresent(DscTestsPresent)

重大度レベル: 情報

デフォルト状態:常に有効

Description

このルールは、特定のリソースに対してDesired State Configuration(DSC)テストが存在するかどうかを検出します。

このルール違反を修正するには、以下の Tests ディレクトリが存在することを必ず確認しなければなりません:

  • クラスベースのリソースでは、 DSCResources フォルダと同じフォルダレベルに存在すべきです。
  • クラスベースのリソースは、リソースの .psm1 ファイルと同じフォルダレベルにあるべきです。

Testsフォルダには、与えられたリソースのテストスクリプトが必要です。 ファイル名にはリソース名を含めるべきです。

例

非クラスベースのリソース

以下のファイル構造を持つ非クラスベースのリソースがあると仮定します。

  • xAzure
    • DSCResources
      • MSFT_xAzureSubscription
        • MSFT_xAzureSubscription.psm1
        • MSFT_xAzureSubscription.schema.mof

この場合、この警告を修正するために、以下の方法でテストを追加してください:

  • xAzure
    • DSCResources
      • MSFT_xAzureSubscription
        • MSFT_xAzureSubscription.psm1
        • MSFT_xAzureSubscription.schema.mof
    • テスト
      • MSFT_xAzureSubscription_Tests.ps1

クラスベースのリソース

次のファイル構造を持つクラスベースのリソースがあると仮定します:

  • MyDscリソース
    • MyDscResource.psm1
    • MyDscResource.psd1

この場合、この警告を修正するために、以下の方法でテストを追加してください:

  • MyDscリソース
    • MyDscResource.psm1
    • MyDscResource.psd1
    • テスト
      • MyDscResource_Tests.ps1

ルールの設定

このルールは常に有効で、設定はできません。 このルールを避けるために、以下のいずれかの方法を用いてください。

  • 欲しいルールだけを含めるか、不要なルールを除外するカスタムルール設定ファイルを作成しましょう。
  • 特定のコードブロックに対してルール抑制を抑制するために、適切なルール抑制属性をコードに追加してください。 詳細については、PSScriptAnalyzerの使用に関する「抑制ルール」セクションをご覧ください。