gpt4 book ai didi

c# - Microsoft Fakes 程序集名称冲突

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:51 31 4
gpt4 key购买 nike

我有 3 个 C# 项目 X、Y 和 Z。我有 2 个单元测试项目 Xt 测试项目 X 中的代码,Yt 测试项目 Y 中的代码。项目 Z 是一个库项目,由项目 X 和Y.

在两个单元测试项目中,我都为 Z 生成了一个 Fakes 程序集,这意味着它们都有自己的 Z.Fakes.dll 版本。所有 DLL 都输出到同一目录中。因为它们都创建了一个 Z.Fakes.dll,一个会覆盖输出目录中的另一个,具体取决于构建顺序,这意味着一组单元测试失败,因为 Shims & Stubs 在 fakes 程序集中不存在。

假设我不能为每个单元测试项目设置不同的输出目录,并且不能将单元测试合并到一个单元测试项目中,我该如何避免这种Fakes程序集名称冲突?有什么方法可以生成 Fakes Assembly 并给它起一个别名,例如Zx.Fakes.dll 和 Zy.Fakes.dll?

最佳答案

我们处理它的方式是我们在解决方案中有一个单独的 Fakes 项目,您可以在其中生成所有假货,然后只需将 dll 添加到该假货项目的 FakesAssemblies 文件夹中。当您这样做时,您的解决方案引用结构应如下所示

Solution- MyFakes  - References    - X    - X.Fakes //Created via the right-click create Fake menu on X    - Y    - Y.Fakes //Created via the right-click create Fake menu on Y    - Z    - Z.Fakes //Created via the right-click create Fake menu on Z- X.csproj  - References    - Z- Xt.csproj  - References    - MyFakes //This is just for build order    - X    - ..\MyFakes\FakesAssemblies\X.Fakes.dll    - Z    - ..\MyFakes\FakesAssemblies\Z.Fakes.dll- Y.csproj  - References    - Z- Yt.csproj  - References    - MyFakes //This is just for build order    - Y    - ..\MyFakes\FakesAssemblies\Y.Fakes.dll    - Z    - ..\MyFakes\FakesAssemblies\Z.Fakes.dll- Z.csproj

关于c# - Microsoft Fakes 程序集名称冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47911428/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com