Имя не существует в текущем контексте после SetUp в тестировании единства - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь сделать модульные тесты в единстве, так как я повторил код, я пытался использовать SetUp следующим образом

[SetUp]
public void Setup()
{
  PlayerState playerState = (PlayerState)ScriptableObject.CreateInstance("PlayerState");
}

[Test]
public void IsPlayerWinnerTest()
{
  playerState.LastAnswerTime = 6f;
  playerState.IsLastAnswerCorrect = true;
}

Так, например, если у меня что-то вроде этого, я получаю: Имя playerState не существует в текущем контексте. Есть идеи? Спасибо !!

1 Ответ

0 голосов
/ 21 апреля 2020

вы объявляете PlayerState playerState как локальную переменную внутри метода ... переместите его в класс как поле и все будет в порядке

public class YOURCLASS
{
    // Now it is a class field so every method nows it
    PlayerState playerState

    [SetUp]
    public void Setup()
    {
        playerState = ScriptableObject.CreateInstance<PlayerState>();
    }

    [Test]
    public void IsPlayerWinnerTest()
    {
        playerState.LastAnswerTime = 6f;
        playerState.IsLastAnswerCorrect = true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...