8

我有一个非常大的库,但只公开了一个非常小的 API,以便新用户易于使用和学习。我想以这种方式保留我的库,但我也想确保我有尽可能多的单元测试覆盖率,我希望能够直接对我的所有类进行单元测试,但据我所知,我可以仅对库的公共 API 进行单元测试。

当然,我可以编写单元测试来全面测试公共方法,这将有效地间接测试所有底层私有类,但如果测试失败,则可能意味着大量挖掘私有代码以找出某些东西的去向错误,而不是对每个单独的私有类进行单元测试,所以当出现问题时,它会立即很明显哪里出了问题。

是否有一种设计模式可以帮助解决这种情况,或者有一种方法可以为私有 dart 类和方法编写单元测试?

4

1 回答 1

11

如果您将私有类移动到同一应用程序中的单独库中,那么您可以将它们公开并测试它们。然后,您将在当前库中导入该库而不是导出它(因此,只要他自己不导入该其他库,您的库的用户仍然不能使用您的其他类)。

于 2013-10-30T21:43:36.540 回答