Использование шаблона Arrange Act Assert с интеграционными тестами

Используя Arrange Act Утвердите, что должно быть в разделе "Arrange ", учитывая, что это тест интеграции в моей базе данных?

private void Delete_Release_Test_Data(string conString)
        {
            UnitTestHelper.PrepareData(new[] { "ReleaseId" }, new object[] { 100 });
            UnitTestHelper.InsertPreparedData(conString, RELEASE_TABLE);
        }

        [Test]
        public void Delete_Release(string conString)
        {
            Delete_Release_Test_Data(conString);

            // ARRANGE
            // What should I put here ???

            // ACT
            IReleaseDataProvider provider = new ReleaseDataProvider();
            provider.DeleteRelease(100);

            // ASSERT
            Assert.IsTrue(UnitTestHelper.HasNoData(conString, string.Format("SELECT * FROM {0}", RELEASE_TABLE)));
        }

1 ответ

Решение

Есть ли конкретная причина, почему первая строка Delete_Release_Test_Data(conString) не в порядке? Из этой ссылки на Arrange Act Assert:

Каждый метод должен группировать эти функциональные разделы, разделенные пустыми строками:

  1. Организуйте все необходимые предпосылки и входные данные.
  2. Действуйте на объекте или тестируемом методе.
  3. Утверждают, что ожидаемые результаты уже достигнуты.

Вставка действительных тестовых данных является предварительным условием этого теста, который означает, что он должен быть помещен в раздел Arrange.

Примечание. Вы также можете переименовать этот тест в Delete_Release_When_Exists а затем также создать тест Delete_Release_When_Doesnt_Exist чтобы убедиться, что выброшено правильное исключение или возвращаемое значение верное.

Другие вопросы по тегам