如何确定我的C#测试依赖哪些文件?

如何确定我的C#测试依赖哪些文件?,c#,automated-tests,impact-analysis,C#,Automated Tests,Impact Analysis,假设我有一个C#test项目。每个测试执行一些代码,这些代码可能存在于项目本地的其他文件中,也可能存在于同一解决方案中的另一个项目中,甚至存在于另一个解决方案中的项目中。我怎样才能知道我的测试“使用”了哪些文件 解决方案最好不需要对测试进行更改。该方法最好能够自动化 例如,假设我有: Test.cs [Test] public void Test() { var a = new Foo(); a.bar(); } public class Foo { public vo

假设我有一个C#test项目。每个测试执行一些代码,这些代码可能存在于项目本地的其他文件中,也可能存在于同一解决方案中的另一个项目中,甚至存在于另一个解决方案中的项目中。我怎样才能知道我的测试“使用”了哪些文件

解决方案最好不需要对测试进行更改。该方法最好能够自动化

例如,假设我有:

Test.cs

[Test]
public void Test() {
    var a = new Foo();
    a.bar();
}
public class Foo {
    public void bar() { ... }
}
Foo.cs

[Test]
public void Test() {
    var a = new Foo();
    a.bar();
}
public class Foo {
    public void bar() { ... }
}

我想知道test
test()
依赖于
Foo.cs

,通过编写测试单个事物的测试,通常是单个类中的单个方法。无论如何,测试对您的soruce代码一无所知。因此,除非你没有给你的测试起有意义的名字,否则你会坚持测试是自解释的。在一个类中只依赖一个方法的单元测试是不现实的。也许让Visual Studio在你的单元测试上创建一个代码映射?“让单元测试只依赖于单个类中的单个方法是不现实的但这就是单元测试的意义所在。其他任何东西都将是一个集成测试,您可以在其中检查整个组件及其依赖项。@DavidPoxon如果您想花时间,我非常确定您可以使用roslyn framework检查依赖项。