2016-01-13 6 views
-1

Я работаю над Windows Phone/Store и Windows 10 UWP. Я пытаюсь понять, какие хорошие методы для модульного теста.Тестирование модулей в Windows phone/store apps

У меня есть установка модуля тестирования, и я написал несколько модульных тестов. Я использую среду CaliburnMicro, и у меня есть инсталляция конструктора, которая, в свою очередь, помогает мне в модульном тестировании, поскольку у меня определены интерфейсы.

Полезно ли проверять внутренние интерфейсы API? Например, скажем, у меня есть служба, которая проверяет NetworkInfomation и дает мне соответствующие результаты или проверку батареи? Хорошо бы проверить их?

Кроме того, я использую услугу фоновой передачи и фоновой задачи. Было бы возможно проверить сценарии загрузки?

Новое для модульного тестирования, поэтому любая помощь оценивается.

ответ

1

Я также использую Caliburn.Micro в своем коде, но я не думаю, что это имеет значение. Большинство фреймворков MVVM работают одинаково. Я использую Moq для моей издевательской структуры, которая очень хорошо работает с инъекцией зависимостей.

Проблемы с Moq в сочетании с Caliburn что Caliburn использует много функций расширения, которое трудно невозможно Verify

Аннотация, насколько это возможно, и avoid testing implementation details, в коротком поведении тестирования и сделать абстракцию реализации таких как NetworkInfomation и Background Transfer Service.

public class GolldysNetworkInfomation : INetworkInfomation 
{ 
    NetworkInfomation networkInformation; 
} 

public class SystemUnderTest 
{ 
    public SystemUnderTest(INetworkInfomation networkInfomation) 
    { 
    } 
} 

Теперь вы можете использовать INetworkInfomation для имитации вашего NetworkInfomation во время модульного тестирования, а также позволяет создавать другие реализаций INetworkInfomation.

Есть две школы мысли о модульном тестировании:

  1. Классическая
  2. Mockist

Вы можете посмотреть на Classical vs Mockist подход, чтобы лучше понять.

Надеюсь, это поможет.

Смежные вопросы