Как проверить аргументы метода после вызова метода? - PullRequest
0 голосов
/ 19 декабря 2009

Скажем, у меня есть метод A.Do (Arg arg), который присваивает некоторые свойства arg (класс Arg), скажем, он устанавливает arg.Prop1 = "done". И я тестирую пустой метод B.Do (void):

public class B
{
  public void Do()
  {
    var arg = InitArg();
    A.Do(arg)
    ...
  }
}

и я смоделировал класс A как новый Mock () с CodeBase = true. Итак, как мне проверить, что arg.Prop1 == "done"?

Ответы [ 3 ]

2 голосов
/ 19 декабря 2009

У вас должен быть модульный тест для класса A, который проверяет, что аргумент, в который передается ваш пароль, корректно обрабатывается, вместо того, чтобы пытаться проверить это поведение с помощью B.Do ().

1 голос
/ 19 декабря 2009

С приведенным примером вы не можете. arg является закрытым для метода B.Do (), поэтому невидим для внешнего мира, поэтому вы не можете проверить его свойства.

0 голосов
/ 19 декабря 2009

В любом случае, довольно разумно добавить такую ​​функциональность для MoQ для проверки аргументов после вызова метода. Потому что наличие функции, которая MoQ проверяет количество вызовов метода, логически приводит к возможности проверки аргументов.

...