Bug 19855 Test class not found in project [JUnit]
Is this a bug or am I missing something? I have a class which the JUnit Failure Trace window seems unable to GoTo, instead bringing up an error dialog which reads, "Test class not found in project". Steps: [1] Run a JUnit launch configuration which has failures. [2] In the failures tab, select "test_mumble". Right-menu/GoTo has the expected, correct behavior. [3] In the Failure Trace window below, I see the stack trace. I can double click or right-menu/GoTo all but one of the line in this window that correspond to my code, and be taken to the appropriate code position. For this trace, however, I cannot double click or use right-menu/GoTo for the method which raised an assert exception. If I try, I get the "Test class not found in project" error. I should point out that the assert is not being raised in test code, but in an unimplemented stub. Possibly relevant: The actual assert is in a method of a static inner class, said method looking roughly like double[] apply(double[] vectorIn, Space space) { assert false : "nyi"; return null; }
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/FailureTraceView.java
private TestRunnerViewPart fTestRunner;
	private String fInputTrace;
	
	private final Image fStackIcon= TestRunnerViewPart.createImage("obj16/stkfrm_obj.gif"); 
	private final Image fExceptionIcon= TestRunnerViewPart.createImage("obj16/exc_catch.gif"); 
	public FailureTraceView(Composite parent, TestRunnerViewPart testRunner) {
		fTable= new Table(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL);
		fTestRunner= testRunner;
		
		fTable.addMouseListener(new MouseAdapter() {
			public void mouseDoubleClick(MouseEvent e){
				handleDoubleClick(e);
			}
		});
		
		initMenu();
		
		parent.addDisposeListener(new DisposeListener() {
			public void widgetDisposed(DisposeEvent e) {
				disposeIcons();
			}
		});
	}
	
	void handleDoubleClick(MouseEvent e) {
		if(fTable.getSelection().length != 0) {
			Action a= createOpenEditorAction(getSelectedText());
			if (a != null)
				a.run();
		}