Я использую файл CSV для ввода данных в мой тест.
[TestMethod]
[DataSource( CsvData, CsvDir + "TC177023.csv", "TC177023#csv", SEQ )]
Файл выглядит примерно так: (другие строки удалены)
something,something,Value,something,something,something
,,0xDEADBEEF,,
,,-12,,
,,0,,
,,0,,
,,0,,
У меня есть один столбец, в котором есть целые числа, и я хотел расширить его до шестнадцатеричных. Поэтому я взял значение из столбца «Значение» и вместо приведения его к типу int
int value = (int)TestContext["Value"];
я попытался получить доступ к строке, представляющей целое число
string text = TestContext.DataRow["Value"].ToString();
Но все, что я получилбыла пустая строка. Я не буду беспокоить вас всем, что я пытался выяснить, в чем проблема. Я мог по крайней мере увидеть из проверки объекта TestContext при отладке, что тип столбца действительно vas Int32.
В конце я попытался заменить целочисленные значения в столбце строками, и вот, я получил свое шестнадцатеричное значение. Мой вывод заключается в том, что при загрузке значений тестовая структура «помогает» мне и устанавливает тип столбца, просматривая значения.
Теперь на мой вопрос:
Можно ли где-нибудь установить что-нибудь, чтобы запретить это поведение, чтобы среда модульного тестирования MS не помогла мне в этом? Я не могу изменить структуру, я не могу изменить значения int в этом столбце на что-то, распознаваемое как строки. Я не являюсь конечным пользователем решения, поэтому любые обходные пути могут ухудшить ситуацию. Я просто хочу получить «сырое значение» «ячейки» для дальнейшей обработки.