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。