Первый вопрос: спросите: зачем мне этот метод? Что это для меня делает?
Дайте методу более удобное для человека имя. Из того, что я вижу, метод принимает целое число, строку и хэш-таблицу. Метод затем, как ожидается, возвращает набор данных, содержащий одиночную таблицу с 3-мя колоннами,
- первая строка содержит значения, как { «Моя колонка {ColumnNo}» ..}
- вторая строка которой содержит [intParam.ToString(), stringParam, хеш [ "TestKey"]]
Тестирование этот метод должен быть тривиальным, Тест # 1:
- Упорядочить: Создание известных входах (в INT I, строка S, хэш-таблица с некоторыми «testData» => Y)
- Акт: вызов метода и получение полученного набора данных
- Утверждение: запросите набор данных, чтобы увидеть, имеет ли он одну таблицу с 2 записями. Проверьте содержимое записей таблицы, чтобы увидеть, содержат ли они строку заголовка и строку с [I, S, Y].
Тест № 2: Как и в предыдущем тесте, за исключением того, что вы передаете значение null для параметра hashtable.
Это все, что я мог видеть на основе фрагмента, который вы опубликовали. НТН
Update: Не уверен, что вы имеете в виду здесь «ручка Хеша» или «написать тестовый код арматуры для Хеш»? Хэш-таблица - это просто параметр вашей функции. Поэтому я считаю, что тест будет выглядеть примерно так (простить плохое имя и отсутствие констант ... не могу назвать их, если я не знаю, для чего эта функция используется в реальной жизни)
[Test]
public void Test_NeedsABetterName()
{
int intVal = 101; string stringVal = "MyString"; string expectedHashValue = "expectedValue";
Hashtable ht = new Hashtable();
ht.Add("testKey", expectedHashValue);
Dataset ds = MySampleMethod(intVal, stringVal, ht);
Assert.AreEqual(1, ds.Tables.Count);
Assert.AreEqual(2, ds.Tables[0].Rows.Count);
// check header Row1.. similar to Row2 as shown below
DataRow row2 = ds.Tables[0].Rows[1];
Assert.AreEqual(intVal.ToString(), row2["Column1"]);
Assert.AreEqual(stringVal, row2["Column2"]);
Assert.AreEqual(expectedHashValue, row2["Column3"])
}
Я рекомендовал бы получить хорошую книгу, как прагматический модульное тестирование в C# с NUnit или один из списка here ускорить вас здесь.
Что это за метод * do *? Должны ли мы писать тест для метода MySampleMethod, который делает некоторые неуказанные вещи для переменных, названных в честь их типов? – Ken
Мне просто нужно знать, как мы можем передавать значения для хэш-таблицы. и мне также нужно знать, как вы напишете тестовый код устройства для HashTable, чтобы он мог быть протестирован в Nunit.? – Arunachalam
вышеупомянутое сообщение отправлено моим другом, поэтому я ответил от его имени – Arunachalam