[英]Why am I getting a file not found error in java using OSX, but not Windows?
我是Java n00b,所以請原諒。
我試圖在OSX上的IntelliJ中運行TestNG測試,但是當我這樣做時,出現以下文件未找到錯誤:
File: src/test/resources/manager/MemberTest/testCreating.csv not found.
但是,當我的同事在他們的Windows計算機上運行此程序時,測試完成,並且不會出現相同的錯誤。 一位這樣的同事的檔案位於
D:\trunk_QA\src\test\resources\manager\MemberTest\testCreating.csv
礦山位於
/Users/username/QA Materials/Automation/Framework/trunk_QA/src/test/resources/manager/MemberTest/testCreating.csv
dataSourcePath似乎正確地布置為相對路徑:
private static String dataSourcePath = "src/test/resources/";
當使用該dataSourcePath運行時,出現錯誤。
如果我更新它以使用本地絕對路徑:
private static String dataSourcePath = "/Users/username/QA Materials/Automation/Framework/trunk_QA/src/test/resources/";
然后測試通過。 但是,我無法進行檢查,因為除了使用絕對鏈接的不良做法之外,它還會破壞我同事的機器上的測試。
我究竟做錯了什么? 我是否需要定義系統變量,例如CLASSPATH?
首先,我建議使用File.separator
而不是斜杠,因為可以保證它們是跨平台的。
如果這樣無法正常工作,您可以嘗試以下操作:
System.out.println(new File(".").getCanonicalPath());
這將打印您所在的實際目錄。也許您不在您認為的位置?
我想到了。 我必須在運行>編輯配置> TestNG下編輯工作目錄。 當我導入項目時,它會自行設置該工作目錄,並且設置錯誤的地方!
當dataSourcePath設置為src / test / resources /時,它沒有打印user.dir的原因是它在碰到那段代碼之前就出錯了。
總體而言,如果您知道設置IntelliJ的工作,那么這是一個非常簡單的解決方案。
謝謝大家的幫助! 我學到了各種各樣的新東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.