每次,当我处理在 .NET (C#) 中编写测试时,我都会读到,你只能测试 DLL。但是我的应用程序没有任何 DLL,我也想测试一些 Controller 和行为。不创建 DLL 项目怎么可能?可能吗?
欢迎提示。
最佳答案
您的单元测试项目仍然可以像任何其他类库一样引用应用程序项目。它可能被认为不太理想,但没有什么能阻止它工作。随着系统逻辑的增长,即使是一点点,您肯定会考虑将业务逻辑转移到类库项目中,并使应用程序层尽可能薄。
I read, you can test DLLs only.
这是过于简单化了。他们可能的意思是您只能测试离散的功能。无论托管该功能的项目类型如何,功能本身都必须明确定义,具有分离的关注点,并且可以单独测试。如果那是导致您的设计出现问题,那么您需要做更多的工作才能对您的代码进行单元测试。
但要开始,只需创建您的单元测试项目并引用您的其他项目。然后开始为您的各个功能单元编写测试。每个测试应该只测试一个离散的事物,并且应该包含以下简单步骤:
- 安排
- 行动
- 断言
单元测试不应该需要任何额外的设置,也不应该产生任何副作用。这就是“离散”部分的用武之地,每个人都应该是独立的,而不是依赖于其他人。
关于c# - 如何在 .NET 中测试可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44241544/