Skip to content

Commit 058d763

Browse files
committed
enforced use of TestResources as junit @rule
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
1 parent 1ac1638 commit 058d763

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/resources/TestResources.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ protected void starting( Description d )
7373
public File getBasedir( String project )
7474
throws IOException
7575
{
76+
if ( name == null )
77+
{
78+
throw new IllegalStateException( getClass().getSimpleName()
79+
+ " must be a test class field annotated with org.junit.Rule" );
80+
}
7681
File src = new File( projectsDir, project ).getCanonicalFile();
7782
Assert.assertTrue( "Test project directory does not exist: " + src.getPath(), src.isDirectory() );
7883
File basedir = new File( workDir, name + "_" + project ).getCanonicalFile();
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.apache.maven.plugin.testing.resources;
2+
3+
/*
4+
* Licensed to the Apache Software Foundation (ASF) under one
5+
* or more contributor license agreements. See the NOTICE file
6+
* distributed with this work for additional information
7+
* regarding copyright ownership. The ASF licenses this file
8+
* to you under the Apache License, Version 2.0 (the
9+
* "License"); you may not use this file except in compliance
10+
* with the License. You may obtain a copy of the License at
11+
*
12+
* http://www.apache.org/licenses/LICENSE-2.0
13+
*
14+
* Unless required by applicable law or agreed to in writing,
15+
* software distributed under the License is distributed on an
16+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17+
* KIND, either express or implied. See the License for the
18+
* specific language governing permissions and limitations
19+
* under the License.
20+
*/
21+
22+
import org.junit.Test;
23+
24+
public class TestResourcesTest
25+
{
26+
public TestResources resources = new TestResources();
27+
28+
@Test( expected = IllegalStateException.class )
29+
public void testNoRuleAnnotation()
30+
throws Exception
31+
{
32+
resources.getBasedir( "dummy" );
33+
}
34+
}

0 commit comments

Comments
 (0)