Создание ложных данных для поблочного тестирования

Или это:

ex.list <- lapply(split(ex, ex$order), function(x){
  ex.x <- as.data.frame(do.call(rbind, 
          lapply(1:nrow(x), function(i){
            c(x$order[i], ifelse(i==1, list(data.frame()), list(x[1:(i-1), ])), list(x[i:nrow(x), ]))
          })
  ))
  names(ex.x) <- c('order', 'data_before', 'data_after')
  ex.x
})
13
задан Mark J Miller 27 February 2009 в 18:12
поделиться

5 ответов

У Вас может быть класс (классы) Разработчика, который помогает Вам создающий экземпляры, в которых Вы нуждаетесь / в этом случае, которые Вы использовали бы связанный с репозиторием. Сделайте, чтобы Разработчик использовал appropiate значения по умолчанию, и на Ваших тестах можно перезаписать то, в чем Вы нуждаетесь. Это помогает, у Вас постараться не должными быть поместить есть каждый случай "данных", перепутанных для всех различных тестов (который представляет проблемы, потому что обычно существуют случаи, которые не совместимы для различных тестов).

** Обновление 1: ** Смотрите на www.markhneedham.com/blog/2009/01/21/c-builder-pattern-still-useful-for-test-data

1
ответ дан 2 December 2019 в 01:41
поделиться

Я знаю точно, что Вы имеете в виду. Я думаю, что хороший подход к решению этой проблемы должен на самом деле иметь отдельный проект MockFramework, который содержит все Ваши ложные данные вне тестового проекта. Таким образом, можно генерировать ложные данные отдельно, сохранить их в памяти, если Вы хотите, или нет, и затем сослаться на ложную платформу от тестового проекта. Если Вы используете стороннюю платформу, чтобы сделать это, тем лучше, но можно все еще перенести ту стороннюю платформу в собственную ложную платформу, таким образом, можно получить все это "связующее звено", которое создает ложные данные путем, Вам нужен он из Ваших тестов, таким образом, тесты могут действительно быть только, каковы они должны быть.

0
ответ дан 2 December 2019 в 01:41
поделиться

Если Ваш используют.Net Try NDBUnit

Вы заполняете свое хранилище, и затем оно возвращается Ваш DB к известному состоянию в тестовое время для каждого теста. Экран Autumn of Agile бросил серийные шоу это в довольно хороших деталях.

Или можно сделать, это вручную... создает хранимую процедуру или безотносительно усекать таблицы и копию в данных в методе разрушения.

1
ответ дан 2 December 2019 в 01:41
поделиться

Спасибо за все предложения я думаю, что решение требует всего понемногу. Я не хочу, чтобы эти тесты закончили тем, что были регрессионными тестами, но w/o некоторое существующее хранилище данных, которое все все еще сводит к созданию данных, "вручную" создавая объекты.

То, что действительно было бы хорошо, будет платформой, которая позволила мне использовать свой существующий DAL для или сценариев данных, чтобы кодировать для меня или получить данные в памяти и получить доступ к нему как в базе данных памяти.

0
ответ дан 2 December 2019 в 01:41
поделиться

Untils.org касается этого пути лучше, чем я когда-нибудь мог.

Их целое руководство на самом деле очень хорошо.

Но в основном, если Ваши единицы требуют "большого количества данных", они не могут больше быть модульными тестами. Я рекомендовал бы делать попытку тестирования мелких кусочков индивидуально.

0
ответ дан 2 December 2019 в 01:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: