Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
PHP 有点残缺,因为它没有返回类型(还)。当 X 已经存在时,我需要我的代码抛出异常。我可以在一个场景中编写这个,但我无法从场景转到我的类应该实现的接口。
实际上,我猜这个问题在 TDD 中是相同的。我似乎可以通过我的“测试”而不是通过我的界面来判断。然而,我的接口定义了哪些组件可以交互,它们应该承担哪些责任。
PHP 中的问题更大,因为它没有返回类型,但它也存在于其他语言中,因为没有约定在 x 是这种情况时应该抛出异常。
我怎样才能最好地处理这个问题?
在抛出异常的语言中,接口只是合约规范的一部分。通过断言在预期时抛出正确的异常,使用测试来描述合同的其余部分。