0

PHP 有点残缺,因为它没有返回类型(还)。当 X 已经存在时,我需要我的代码抛出异常。我可以在一个场景中编写这个,但我无法从场景转到我的类应该实现的接口。

实际上,我猜这个问题在 TDD 中是相同的。我似乎可以通过我的“测试”而不是通过我的界面来判断。然而,我的接口定义了哪些组件可以交互,它们应该承担哪些责任。

PHP 中的问题更大,因为它没有返回类型,但它也存在于其他语言中,因为没有约定在 x 是这种情况时应该抛出异常。

我怎样才能最好地处理这个问题?

4

1 回答 1

1

在抛出异常的语言中,接口只是合约规范的一部分。通过断言在预期时抛出正确的异常,使用测试来描述合同的其余部分。

于 2009-11-23T10:59:06.110 回答