我刚刚编写了一个新版本的WCF Web服务,我想确保我没有对服务和数据合同进行任何重大更改。
回想起我作为VB6 Com Api开发人员的日子,我记得在编译时指定组件的先前发行版本是多么容易,并让编译器检查是否正在维护二进制兼容性。
我设想类似的(希望是)“合同兼容性”检查。它将使用元数据执行与VB6 dev env所做的类似的检查。这可以作为执行实用程序的单独构建步骤来完成。
我准备接受那里没有这样的效用。如果是这种情况,是否有人对如何实现这一目标的算法有任何想法?
步骤3似乎很复杂,但肯定是自动化的......
答案 0 :(得分:4)
通过集成/回归测试解决了这些情况。您为初始版本编写集成测试,在将服务修改为新版本后,您使用旧客户端再次运行集成测试。如果他们成功了你就没有破坏任何东西。如果它们失败,您会看到确切的调用导致的问题。
答案 1 :(得分:1)
没有类似的东西存在安迪,但如果你得到一些东西,你有2个DLL(一个旧的和一个新的),你可以使用像BitDiffer之类的东西来比较它们。
Codeplex上有一个帮助WCF发布的项目,但我不记得它叫什么了,抱歉。
祝你好运,-Keith
答案 2 :(得分:0)
答案 3 :(得分:0)
尝试使用"Codeplex WCF Load Test"为旧接口契约生成单元测试并在新的上运行它们:
此工具采用WCF跟踪文件和WCF客户端代理或WCF接口协定,并生成C#单元测试,该测试重放跟踪文件中找到的相同调用序列。然后可以使用单元测试对目标进行负载测试。