Data-driven unit testing - Problem with CSV encoding?

我的未来我决定 提交于 2019-12-23 08:35:40

问题


I have the following CSV file that is used in my data-driven unit test:

File;expected
Resources.resx;default
Resources.de.resx;de
AttachmentDetail.ascx.it.resx;it
SomeOtherFile.rm-CH.resx;rm-CH

"File" and "expected" are the header. But if I want to get the "File"-column in the code like

TestContext.DataRow["File"].ToString();

I get the error

System.ArgumentException: Column 'File' does not belong to table ..

When I add the CSV file to an existing test-case over the test-method properties, it seems as if the "File"-column has some strange signs before its name, much like an encoding problem. But if I open the CSV file with Notepad, Notepad++ or even TextMate (on Mac) I don't see any such signs and I'm not able to get rid of them.

Can someone give me a suggestion about this problem?


回答1:


If you edit the CSV file in the VS2008 you can set the way the CSV file will be saved:

"File\Advanced Save Options..."

In the "Encoding:" drop down the default will be UTF-8. Change it to "Wester European (DOS) - Codepage 850". Leave the Line endings selection alone.




回答2:


What encoding is the file being saved?

From what I know, UTF-8 saved in windows notepad puts up some strange symbols in front of the file to know exactly what encoding was used when it didn't find any symbols that are needed for UTF8 (assuming everything is just plain ascii)

Did you edit the file using Notepad++ and saved it? I would try doing that and compare the results.



来源:https://stackoverflow.com/questions/1110588/data-driven-unit-testing-problem-with-csv-encoding

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!