我通过使用从.csv文件读取的数据来参数化我的测试用例。 csv文件中的一列具有美国格式的简单日期值(作为常规字符串),例如mm/dd/yyyy
。但是,当实际读取数据并将其填充到TestContext
时,TestContext.DataRow["MyDateColumn"]
实际上会返回已转换的System.DateTime
对象,并且时间戳为12:00:00 AM
。我绝对不需要或想要这种自动转换。我该如何阻止这种情况发生?
答案 0 :(得分:2)
如果MyDateColumn的类型设置为datetime,那么它将/应该返回一个datetime对象。
尝试将MyDateColumn的类型更改为字符串,看看是否有效。
<强>更新强>
更改CSV中的日期,使其为“mm / dd / yyyy”而非mm / dd / yyyy。
答案 1 :(得分:0)
DateTime.Parse(TestContext.DataRow["MyDateColumn"], CultureInfo.InvariantCulture).ToShortDateString()
答案 2 :(得分:0)
我得到了解决方案:)
我只是把&#39;在实际数据之前。当我检索数据时,数据按原样出现。在使用它之前,我删除了&#39;来自带子串方法的数据。
我记得在excel上使用这种技术使数字显示为文本。它对我有用。
答案 3 :(得分:0)
我在数据周围加了两个qoutes。这样就可以返回字符串,而不会删除引号。
columnInt, columnString
1, "11.12.89"
2, "12.12.89"