Я новичок в использовании теста Xunit и тестирую метод добавления элемента в список <>.Моя проблема в том, что сначала я назначаю свой пустой список переменной с именем check1, затем я добавляю 2 элемента в свой список, а затем я назначаю свой список с 2 элементами переменной, называемой check2.Ничего сумасшедшего, я бы сказал, но когда я использовал режим отладки, я понял, что моя переменная check1 увеличивается, когда я добавляю элементы в свой список.
Я действительно не знаю, что делать.Я предполагаю, что способ запуска модульных тестов Xunits особый, и он может запускать несколько тестов одновременно, поэтому он изменяет check1, но я не уверен, потому что я не понимаю, как (или в каком порядке) запускается Xunitметоды тестирования.
Вот мой метод тестирования
[Fact]
public void addAnalysisDataTest()
{
List<AnalysisData> check1 = AnalysisDataManager.getInstance().getAnalysisData();
AnalysisDataManager.getInstance().AddAnalysisData("Name3", true, new List<AnalysisElementData> { new AnalysisElementData(0, "Grid", "", ""), new AnalysisElementData(1, "PivotGrid", "", "") });
AnalysisDataManager.getInstance().AddAnalysisData("Name4", true, new List<AnalysisElementData> { new AnalysisElementData(0, "Grid", "", ""), new AnalysisElementData(1, "PivotGrid", "", "") });
List<AnalysisData> check2 = AnalysisDataManager.getInstance().getAnalysisData();
Assert.True(Equals(check2.Count, check1.Count +2));
}
Вот мой метод класса AnalysisDataManager:
private static AnalysisDataManager instance = null;
private List<AnalysisData> analysis = new List<AnalysisData> { };
private List<int> listIdUsed = new List<int> { }; //Used to automatically create new unique ID
public static AnalysisDataManager getInstance(){...} //Getting the instance of the class
private AnalysisDataManager(){}
public List<AnalysisData> getAnalysisData(){return analysis;} //Returning my List<>
public void AddAnalysisData(string analysisName, bool modificationAllowed, List<AnalysisElementData> elements)
{
int idAnalysis = 0;
if (listIdUsed.Count != 0)
{
idAnalysis = listIdUsed.Max() + 1;
}
listIdUsed.Add(idAnalysis);
analysis.Add(new AnalysisData(idAnalysis, analysisName, modificationAllowed, elements));
}
Если вы хотите узнать, какие другие мои методы тестированияпросто спросите меня, и я буду обновлять этот пост.