Проблема здесь: Приоритет значения свойства .
В настоящее время вы устанавливаете фоновое изображение в синий цвет непосредственно на DockPanel. Это явное свойство переопределит любое значение, заданное триггером.
Вместо этого вы должны установить исходный «Фон» в качестве сеттера в стиле.
В бесплатной книге Python Dive Into Python есть глава , посвященная модульное тестирование , которое может оказаться полезным.
Если вы следуете современным методам, вам, вероятно, следует писать тесты во время написания проекта, а не ждать, пока ваш проект почти закончится.
Немного поздно, но теперь ты знаешь, что будет в следующий раз. :)
Если вы новичок в использовании модульных тестов, самый простой подход к обучению часто оказывается лучшим. Исходя из этого, я рекомендую использовать py.test
, а не модуль по умолчанию unittest
.
Рассмотрим эти два примера, которые делают одно и то же:
Пример 1 (unittest):
import unittest
class LearningCase(unittest.TestCase):
def test_starting_out(self):
self.assertEqual(1, 1)
def main():
unittest.main()
if __name__ == "__main__":
main()
Пример 2 (pytest):
def test_starting_out():
assert 1 == 1
Предполагается, что оба файла названы test_unittesting.py
, как запустить тесты?
Пример 1 (unittest):
cd /path/to/dir/
python test_unittesting.py
Пример 2 (pytest):
cd /path/to/dir/
py.test
nosetests - отличное решение для юнит-тестирования в python. Он поддерживает как unittest-based testcases, так и doctests, и позволяет начать работу с ним с помощью простого конфигурационного файла.
unittest поставляется со стандартной библиотекой, но я бы рекомендовал вам nosetests.
"nose расширяет unittest для облегчения тестирования. "
Я бы также рекомендовал вам pylint
"анализирует исходный код Python в поисках ошибок и признаков низкого качества. "
Как уже писали другие, уже поздно писать модульные тесты, но не слишком поздно. Вопрос в том, является ли ваш код тестируемым или нет. Действительно, проверить существующий код непросто, есть даже книга об этом: Эффективная работа с устаревшим кодом (см. ключевые моменты или PDF-файл-предшественник ).
Теперь писать юнит-тесты или нет - ваше дело. Вам просто нужно знать, что это может оказаться утомительным занятием. Вы можете заняться этим, чтобы изучить модульное тестирование или сначала подумать о написании приемочных (сквозных) тестов, а также начать писать модульные тесты, когда вы измените код или добавите новую функцию в проект.
Документация для unittest будет хорошей отправной точкой.
Кроме того, сейчас немного поздно, но в будущем, пожалуйста, подумайте о написании модульных тестов до или во время самого проекта. Таким образом, вы можете использовать их для тестирования по мере продвижения, и (теоретически) вы можете использовать их в качестве регрессионных тестов, чтобы убедиться, что изменения вашего кода не нарушили какой-либо существующий код. Это даст вам все преимущества написания тестовых примеров :)