Does your Manifest.MF contain the org.eclipse.core.resources in the Require-bundle section ?
And do you launch your test as a plugin ? (not as a 'Java Application')
See also this thread.
As mentioned in the "Resources and the file system" help page,
You can access the workspace from the resources plug-in class (defined in org.eclipse.core.resources).
When the resources plug-in is not running, the workspace exists solely in the file system and is viewed or manipulated by the user via standard file-based tools. Let's look at what a workspace looks like on disk as we explain the resources plug-in API.
From this book:
The workspace directory, regardless of the name defined with the -data invocation option, has two roles:
- it acts as the parent for the
.metadata directory
- and as the default location for projects
the workspace can contains projects only when:
- the
org.eclipse.core.resources plugin is included in the configuration and
- and appropriately started from the workbench
this is automatic from an IDE configuration based on the org.eclipse.ui.ide.workbench application.
See also this thread and remember that:
the workspace is a different workspace from the runtime-workspace that's used for testing plugins. When you do Run on an Eclipse PDE environment, it creates a new workspace which is completely empty.
The testing workspace root can be specified through the "-data" launching option.
If you want to access a file, your best bet is to include it in the plugin itself, and then use getClass().getResourceAsStream("/myfile.txt") to get an InputStream that you can read the contents for.