У меня есть объект, который после получения некоторых сообщений изменяется асинхронно (внутренний поток изменяет состояние). После изменения состояния я хочу проверить какое-то поведение.Проверить поведение параллельного кода
Поэтому в основном мне нужно сделать что-то вроде:
- Создать объект
- Отправить сообщение для объекта
- Дождитесь состояния, чтобы изменить
- поведение Тест
Однако, состояние частный и не подвергается.
Есть ли элегантное решение для этого, которое не требует раскрытия состояния?
А если нет - разумно ли потребовать изменения основного кода, чтобы сделать его более проверяемым?
Возможно, есть элегантный способ сигнализировать изменение состояния через поведение. Это помогло бы, если бы вы могли уточнить поведение, которое вы надеетесь испытать. Сколько возможных действий вы ожидаете? Например, будет ли это только то, что объект возвращает 0 до изменения состояния и 1 после? – NBartley
Фактическое протестированное поведение не имеет значения. Дело в том, что его можно тестировать только после изменения состояния, иначе тест не имеет смысла. – traveh