2
我嘗試使用ReSharper SDK內置測試基礎架構測試自定義ReSharper上下文操作。我創建了一個輸入文件,一個輸出文件(.gold
)並運行測試。會出現兩個問題:上下文操作的ReSharper SDK測試不起作用
- 測試始終是成功的(即使輸入和
.gold
文件 完全不同的,或空等); - 沒有
.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
文件的更改作出反應。所以問題是如何正確測試上下文操作。
使用ReSharper SDK 9.2。