2

ReSharper SDK 組み込みのテスト インフラストラクチャを使用して、カスタム ReSharper コンテキスト アクションをテストしようとしています。入力ファイル、出力ファイル ( .gold) を作成し、テストを実行しました。次の 2 つの問題が発生します。

  1. テストは常に成功します (入力と.goldファイルが完全に異なっていたり、空であっても)。
  2. .tmp入力とファイルとともに表示されるファイルはありません.gold

ただし、入力ファイルの名前を変更すると、「ファイルが存在しません」という例外でテストの実行が失敗します。

私のテスト プロジェクトの構造は、 docsで説明されているものと同じです。

TestEnvironment.cs:

[assembly: RequiresSTA]

[ZoneDefinition]
public class TestEnvironmentZone : ITestsZone, IRequire<PsiFeatureTestZone>
{
}

[SetUpFixture]
public class ReSharperTestEnvironmentAssembly : ExtensionTestEnvironmentAssembly<TestEnvironmentZone>
{
}

テストクラス:

[TestFixture]
public class FooContextActionTests : ContextActionTestBase<FooContextAction>
{
    protected override void ProcessAction(Func<FooContextAction> action, ITextControl control, ISolution solution)
    {
    }

    protected override string ExtraPath { get; }

    protected override string RelativeTestDataPath => @"FooContextActionTests";

    [Test]
    public void Test01()
    {
        DoTestFiles("Test01.cs");
    }
}

簡単なクイックフィックスについても同様のテストを行いました。そのテストは期待どおりに機能し、入力または.goldファイルの変更に反応します。したがって、問題は Context Action を適切にテストする方法です。

ReSharper SDK 9.2 を使用しています。

4

1 に答える 1