【发布时间】:2021-04-02 23:34:20
【问题描述】:
我在一个有几十个板条箱的工作区工作。其中一个板条箱暴露了一个特征。作为一个模拟,我在每个函数中使用unimplemented! 为() 实现该特征(它们实际上并未使用)。我希望其他 crate 可以使用该实现,但仅限于测试期间:这样做的惯用方式(最方便)是什么?
目前,该实现在 mock 功能之后,我将这个带有 mock 功能的 crate 添加为随机 crate 中的开发依赖项。这迫使编译器在测试期间考虑该实现。这是一个丑陋的黑客,所以我宁愿有另一种方式。
【问题讨论】:
-
为什么不在测试箱中为在同一个测试箱中定义的类型
struct Dummy;而不是()实现特征? -
看来What is an idiomatic way to have shared utility functions for integration tests and benchmarks? 的答案可能会回答您的问题。如果没有,请edit您的问题来解释差异。否则,我们可以将此问题标记为已回答。
-
@Shepmaster 我会为实用程序创建一个板条箱,比如一些函数,但对于 trait 实现来说会有点奇怪
-
@Boiethios 该帖子有三个单独的答案。