Как я могу поделиться тестовым кодом между ящиками Rust в рабочей области? - PullRequest
1 голос
/ 28 марта 2020

У меня есть несколько ящиков в рабочей области. Один ящик определяет Черту, которую реализуют другие. Я хотел бы написать несколько тестовых функций, которые просто берут черту и гарантируют, что все инварианты всегда верны, и этот пример кода работает со всеми экземплярами черты. Поэтому я хотел бы определить набор тестов, и каждый другой ящик должен сказать: «Я определяю свои тесты как этот набор тестов с моей собственной реализацией Trait». Это возможно?

Полагаю, я мог бы определить макрос в моей библиотеке, который генерирует все тесты с использованием экземпляра Trait, но это смешало бы производственный и тестовый код в моей библиотеке. Может ли другой ящик в моей рабочей области ссылаться на тестовый модуль, присутствующий в папке тестов моего основного ящика?

Итак, в основном у меня есть:

workspace
|-- crate1
    |-- src
        |-- lib.rs
    |-- tests
        |-- harness.rs
|-- crate2
    |-- src
        |-- lib.rs
    |-- tests
        |-- test2.rs

И я бы хотел, чтобы test2.rs смог использовать harness.rs. Это возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...