我读过有关SOAP和REST作为Web服务通信协议之间差异的文章,但我认为REST优于SOAP的最大优势是:
REST更加动态,无需创建和更新UDDI.
REST不限于XML格式.REST Web服务可以发送纯文本,JSON和XML.
但SOAP更标准化(Ex;安全性).
那么,我在这些方面是否正确?
我已经开始玩Git并遇到过"上游"和"下游"这两个词.我之前见过这些,但从未完全理解它们.这些术语在SCM(软件配置管理工具)和源代码的上下文中意味着什么?
我听说Liskov替换原则(LSP)是面向对象设计的基本原则.它是什么以及它的使用例子是什么?
oop liskov-substitution-principle definition design-principles solid-principles
单元,功能,验收和集成测试(以及我未提及的任何其他类型的测试)之间有什么区别?
什么是单元测试,集成测试,烟雾测试,回归测试以及它们之间有什么区别?我可以为每个工具使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试.有没有烟雾测试或回归测试工具?
我知道我如何使用这些术语,但我想知道是否有单独测试的伪造,模拟和存根的可接受定义?你如何为你的测试定义这些?描述您可能使用每种情况的情况.
以下是我如何使用它们:
假:一个实现接口但包含固定数据而没有逻辑的类.根据实施情况,简单地返回"好"或"坏"数据.
Mock:一个实现接口的类,允许动态设置值以返回/异常从特定方法抛出,并提供检查是否已调用/未调用特定方法的功能.
存根:类似于模拟类,但它不提供验证方法是否已被调用/未调用的能力.
模拟和存根可以由模拟框架手动生成或生成.伪造的类是手工生成的.我主要使用模拟来验证我的类和依赖类之间的交互.一旦我验证了交互并且正在通过我的代码测试备用路径,我就会使用存根.我主要使用假类来抽象出数据依赖性,或者每次使用模拟/存根都太繁琐.
我在几篇文章和博客中看到了对curried函数的引用,但我找不到一个好的解释(或者至少有一个有意义的解释!)
definition ×10
terminology ×5
http ×2
rest ×2
testing ×2
unit-testing ×2
c ×1
c++-faq ×1
currying ×1
declaration ×1
git ×1
idempotent ×1
liskov-substitution-principle ×1
mocking ×1
oop ×1
soap ×1
stub ×1
versioning ×1
web-services ×1