Если вы действительно хотите использовать случайные значения, просто поместите используемое значение в текстовую часть методов assert. Затем, если выдано подтверждение, будет присутствовать входное значение, и вы сможете выяснить, почему возникла проблема.
Это Fuzz Testing и это мощный метод, но он наиболее полезен, когда у вас нет доступного исходного кода или при тестировании системы со сложным внутренним состоянием и множеством взаимодействий .
Более полезным типом тестирования для вас может быть тестирование белого ящика , когда тестовые входы преднамеренно выбраны для охвата различных классов ввода, которые вы можете получить. JTest представляется автоматизированным инструментом для этого в Java. MS Research поставляет PEX для c #).
Простого использования инструмента покрытия и подтверждения того, что вы покрываете соответствующие пути, обычно достаточно, если вы делаете это вручную, хотя граничные случаи, предоставляемые автоматизированными инструментами, часто бывают поучительными.