TDD с ASP.NET MVC 1.0

Сделайте даты datetime и sort, чтобы вы вычислили правильную разницу. Затем groupby каждый клиент получит необходимые расчеты:

import pandas as pd

df['Date'] = pd.to_datetime(df.Date, format='%d/%m/%Y')
df = df.sort_values('Date')

def AVG_diff(x):
    # Integer number of Days
    return x.diff().mean().total_seconds()/86400

df.groupby('Cust').Date.agg(['size', AVG_diff])

#  Cust  size  AVG_diff
#0    A     3       2.0
#1    B     3       0.5
11
задан Mike 24 April 2009 в 02:30
поделиться

4 ответа

Видео с витрины магазина из ASP.NET - это необходимая серия для просмотра.

7
ответ дан 3 December 2019 в 08:57
поделиться

Проверьте здесь . Магазин MVC настоятельно рекомендуется.

2
ответ дан 3 December 2019 в 08:57
поделиться

Любое руководство по TDD будет полезно для MVC. Некоторое время я занимался TDD и обнаружил, что это был естественный переход в MVC. Я обнаружил, что есть несколько особенностей, которые необходимо устранить.

  1. Вам часто нужно макетировать HttpContext, что означает, что вам нужно назначить ControllerContext контроллеру после его создания, поскольку это единственный способ внедрить издеваться. Контекст будет использоваться для предоставления объектов Session, Request и Response в контроллере (также имитировать их). Новые классы HttpContextBase, HttpSessionStateBase, ... делают это намного проще.

  2. Из-за (1), потратьте некоторое время на объединение некоторых вспомогательных классов в отдельную библиотеку классов, которая может использоваться всеми вашими тестовыми проектами. Эти вспомогательные классы должны содержать методы, которые предоставляют настраиваемые (или несколько методов для предоставления конкретных конфигураций) макетированных контекстов. Это поможет сохранить ваши тесты компактными.

  3. Используйте и назначьте ValueProvider для методов тестирования, которые принимают параметры, если вы не используете ModelBinding (с соответствующими параметрами в подписи) для действия контроллера. Это позволит вам использовать TryUpdateModel / UpdateModel без добавления кода в ваш контроллер для передачи данных из Запроса в эти методы.

  4. Используйте фальшивую среду - если это не очевидно из приведенного выше. Написание тестов будет намного проще, если вы смоделируете зависимости. Написание собственных издевательств, IMO, не стоит, хотя я знаю, что другие не разделяют это мнение. Я предполагаю, что это не уникально для MVC, но я думал, что упомяну это.

  5. Установите отдельный набор тестов, которые используют отражение, чтобы проверить, что соответствующие атрибуты с соответствующими свойствами устанавливаются в ваших методах. MVC интенсивно использует атрибуты для обеспечения безопасности и других сквозных аспектов. Их также необходимо проверить.

4
ответ дан 3 December 2019 в 08:57
поделиться

Я подумал, что «Начальный комплект ASP.NET MVC для магазина» Роба Конери http://www.asp.net/learn/mvc-videos/#MVCStorefrontStarterKit великолепен для демонстрации TDD с ASP.NET MVC.

0
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

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