将 NSubstitute 导入 Unity 项目
Importing NSubstitute into Unity project
我正在尝试在我的 Unity 项目(Unity 版本 2019.2.2f1)中使用 NSubstitute。无论如何导入它,我的 IDE,Visual Studio 和 JetBrains Rider,都会在我尝试 using NSubstitute
说 NSubstitute 未定义时给出错误。
我尝试了 NSubstitute 包的许多选项和版本(4.2.1 和 2.0.3)。我还将包的 net35 文件夹中的 dll 文件导入到我的 Unity 项目中的插件文件夹中。我还尝试在 IDE.
中使用 Nuget 安装相同版本的 NSubstitute
2020 年更新
如果您在 2020 年或之后阅读本文,请查看如何使用最新版本的 NSubstitute 进行此操作。
/结束更新
我能够使 2.0.3 版本与 Unity 一起工作。较新的版本有额外的依赖项,我无法在 Unity 中使用这些依赖项,所以现在看来我们只能使用 2.0.3。所以这就是我的做法:
- 从 NuGet Website 下载 2.0.3。
- 解压缩文件并将
lib/net35/NSubstitute.dll
移动到项目的 Plugins
文件夹中。
- 在你的测试程序集定义中,不要忘记引用它,否则将找不到它。
当您现在在 Rider 中重新打开项目时,应该可以找到它。有时 Unity 有点不正常,似乎没有找到 DLL。在这种情况下,重新导入项目会有帮助。
我在 Unity 项目中添加了 NSubstitute 4.2.1 (.NET Standard 2.0),但我需要再包含 3 个依赖项才能使其正常工作:
- system.threading.tasks.extensions.4.5.3
- system.runtime.compilerservices.unsafe.4.6.0
- castle.core.4.4.0
我正在尝试在我的 Unity 项目(Unity 版本 2019.2.2f1)中使用 NSubstitute。无论如何导入它,我的 IDE,Visual Studio 和 JetBrains Rider,都会在我尝试 using NSubstitute
说 NSubstitute 未定义时给出错误。
我尝试了 NSubstitute 包的许多选项和版本(4.2.1 和 2.0.3)。我还将包的 net35 文件夹中的 dll 文件导入到我的 Unity 项目中的插件文件夹中。我还尝试在 IDE.
中使用 Nuget 安装相同版本的 NSubstitute2020 年更新
如果您在 2020 年或之后阅读本文,请查看
/结束更新
我能够使 2.0.3 版本与 Unity 一起工作。较新的版本有额外的依赖项,我无法在 Unity 中使用这些依赖项,所以现在看来我们只能使用 2.0.3。所以这就是我的做法:
- 从 NuGet Website 下载 2.0.3。
- 解压缩文件并将
lib/net35/NSubstitute.dll
移动到项目的Plugins
文件夹中。 - 在你的测试程序集定义中,不要忘记引用它,否则将找不到它。
当您现在在 Rider 中重新打开项目时,应该可以找到它。有时 Unity 有点不正常,似乎没有找到 DLL。在这种情况下,重新导入项目会有帮助。
我在 Unity 项目中添加了 NSubstitute 4.2.1 (.NET Standard 2.0),但我需要再包含 3 个依赖项才能使其正常工作:
- system.threading.tasks.extensions.4.5.3
- system.runtime.compilerservices.unsafe.4.6.0
- castle.core.4.4.0