2011-03-04 46 views
4

我正在使用從.csv文件讀取的數據對我的測試用例進行參數化。 csv文件中的其中一列具有美國格式的簡單日期值(如常規字符串),例如mm/dd/yyyy。當數據實際上被讀取並填充到TestContext中時,TestContext.DataRow["MyDateColumn"]實際上會返回一個轉換後的System.DateTime對象,其中包含時間戳12:00:00 AM。我絕對不需要或希望這種自動轉換。我如何阻止這種情況發生?防止TestContext數據被自動轉換

回答

2

如果MyDateColumn的類型設置爲datetime,那麼它應該返回一個datetime對象。

嘗試更改MyDateColumn的類型爲字符串,看看是否有這個竅門。

UPDATE

在CSV修改日期,使得它們是 「MM/DD/YYYY」,而不是爲mm/dd/yyyy的。

+0

你是如何生成CSV的?用手?從Excel導出? – 2011-03-04 13:53:40

+0

數據如何讀入testcontext? – 2011-03-04 13:59:19

+0

.csv是手動生成的,但如果需要,我們可以從Excel中導出。數據在.csv文件的後臺自動讀取:http://msdn.microsoft.com/en-us/library/ee624082.aspx – Satyajit 2011-03-04 14:15:02

0
DateTime.Parse(TestContext.DataRow["MyDateColumn"], CultureInfo.InvariantCulture).ToShortDateString() 
+0

謝謝。我已經知道如何將DateTime轉換回字符串,事實上我目前正在使用這種方法。我實際上想知道如果我可以擁有原始字符串本身,而沒有框架(不必要地)將其轉換爲我。 – Satyajit 2011-03-04 12:18:03

0

我得到這個解決方案:)

我只是把'實際數據之前。當我檢索數據時,數據就是這樣。在使用它之前,我使用substring方法從數據中刪除'。

我記得在excel上使用這種技術使數字顯示爲文本。它爲我工作。