【发布时间】:2018-05-08 11:27:35
【问题描述】:
这更像是一个一般性的问题,而不是一个具体的问题,但我希望它可以帮助将来遇到类似问题的人。
我正在为我的业务案例实施 IdentityServer4,我最初想为公共 API 访问设置身份验证和授权。为此,我最初将仅使用 ClientCredentials 流。为了手动测试使用流程以及正确的配置和设置,我创建了一个小型测试 API 和一个客户端控制台应用程序,就像文档中的示例项目一样。但我想自动化它,因为我几乎完成了 IdentityServer4 的设置,并且将开始处理实际的 API 本身。
所以基本上我想对我的 IdentityServer 实现进行一些集成测试。但我对这个主题的经验很少,所以也许你会对如何设置它有一些建议或提示。
当至少一些端点已经完成时,我是否应该在 API 端进行设置?但是,如果我的 IdentityServer 和 API 在不同的解决方案中,例如为了在本地运行这些测试,我仍然必须手动启动 IdentityServer,然后才能在连接它的 API 项目上运行测试?
或者对我来说,在 IdentityServer 项目中进行测试、测试 api 和客户端会更有意义(与在源代码解决方案中完成的方式非常相似)。但是在查看源代码集成测试时,我看到他们有一个单独的用于 IdentityServer 启动的 Startup 类。我应该以类似的方式执行此操作,还是将测试配置为针对我自己的 IdentityServer 项目的 Startup 类运行?然后我必须复制所有 appSettings 文件等。
我知道这是一个相当笼统的问题和主题,但任何关于如何实际测试正确事物的指针都将不胜感激。我知道我不需要对功能本身进行很多测试,因为它也在源代码解决方案中完成,但我宁愿进行集成测试来测试我自己的配置等,所以如果任何组件无法与彼此,我会立即知道的。
提前致谢!
【问题讨论】:
标签: testing asp.net-core integration-testing identityserver4 asp.net-core-2.0