Содержание
- 2. Будет ли тест понятен ревьюеру? Можно ли быстро убедиться в корректности теста? Можно ли быстро понять,
- 3. [TestFixture] public class Superman_Should { [Test] public void SaveKittenFromTree() { … superman.Act(); Assert.That(kitten.IsSaved()); } [Test] public
- 4. [TestFixture] public class Superman_Should { [Test] public void SaveKittenFromTree() {…} [Test] public void WearRedBlueSuit_WhenAtWork() {…} }
- 5. System Under Test имя класса, имя метода Условия вход, состояние Результат ожидаемое поведение или требования для
- 6. ParserTests.TestParse ParserTests.Parse_Fails ParserTests.Parse_BigNumbers ParserTests.Parse_NumbersGreaterThanMaxInt ParserTests.Fails_OnNegativeNumbers ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 7. IsAdult_AgeLessThan18_False ParseInt_Should.Fails_OnNonNumber Stack_Should.BeEmpty_AfterCreation When_MandatoryFieldsAreMissing_Expect_StudentAdmissionToFail ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 8. ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 9. ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 10. Arrange Act Assert ПРАВИЛЬНАЯ СТРУКТУРА ТЕСТА
- 11. АНТИПАТТЕРНЫ https://habr.com/post/43761/
- 12. ПОЧЕМУ НЕ ВСЕ ПИШУТ ТЕСТЫ?
- 13. ПИШЕМ ТЕСТЫ ЛЕГКО ТЕСТ НАПИСАТЬ – КАК ЧАЙ ПОПИТЬ
- 14. БОРЬБА С ДУБЛИРОВАНИЕМ
- 15. СБОРКА И РАЗБОРКА ОКРУЖЕНИЯ [OneTimeSetUp|OneTimeTearDown] [SetUp|TearDown]
- 16. [TestFixture] public class Mailbox_Should { private Mailbox mailbox; [SetUp] public void SetUp() { mailbox = new
- 17. OBJECT MOTHER & TEST DATA BUILDER
- 18. PARAMETRIZED TESTS ОНИ ЖЕ DATA DRIVEN
- 19. ДОПОЛНИТЕЛЬНЫЕ ТРЮКИ
- 20. Assert.AreEqual(expected, actual) VS Assert.AreEqual(actual, expected) Assert.That(2+2, Is.EqualTo(4)) Assert.That(x, IResolveConstraint) ASSERT // O_o ?!?
- 21. (2+2).Should().Be(4) flag.Should().BeTrue() new[] {1,2,3} .Should().AllBeEquivalentTo(new [] {3,2,1}); new[] {1,2,3} .Should().AllBeEquivalentTo( new [] {1,2,3}, options => options.WithStrictOrdering());
- 22. Action action = () => { var z = x / y; }; action.ShouldThrow (); ОЖИДАНИЕ
- 23. [Test, Timeout(1000)] public void ShouldDoInTimeout() { … } ОГРАНИЧЕНИЕ ПО ВРЕМЕНИ
- 24. [Test, Category("Smokie")] public void Test() { … } ВЫБОР ТЕСТОВ ДЛЯ ПРОГОНА
- 25. LIVE TEMPLATES Resharper → Tools → Templates Explorer Import tests-templates.DotSettings tf — TestFixture tt — Test
- 26. HOTKEYS Ctrl+T+R Ctrl+U+R
- 27. CHALLENGE
- 28. WordsStatistics WordStatisticsXXX Ctrl+F5 CHALLENGE
- 29. Тесты по спецификации — это просто Как взаимодействуют разные пункты спецификации? CHALLENGE РАЗБОР
- 30. Важен не только результат, но и время выполнения CHALLENGE РАЗБОР
- 31. Тесты не заменяют Code Review Code Review не заменяет тесты CHALLENGE РАЗБОР
- 33. Скачать презентацию