authorjapps / authorjapps/zerocode

Execute tests from a relative path of a scenario file from the PWD(Present Working Directory)

Open
#723 8 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Java
Stars
1k
Forks
453
Avg merge
7d 2h
Merged PRs (30d)
5

Description

Currently the Zerocode runner can execute a test from the Classpath. That's fine and we will retain this as this is given default to us.
See example:
https://github.com/authorjapps/zerocode/blob/master/http-testing-examples/src/test/java/org/jsmart/zerocode/testhelp/tests/helloworld/JustHelloWorldTest.java

```
@TargetEnv("github_host.properties")
@RunWith(ZeroCodeUnitRunner.class)
public class JustHelloWorldTest {

@Test
@Scenario("helloworld/hello_world_status_ok_assertions.json") <---------- picks from Classapth
public void testGet() throws Exception {
}

}
```

AC1:
===
But, we need a mechanism to make it flexible to run even if
- relative path is provided to the scenario file

Example 1:
```
$pwd
/home/authorj/code/zerocode
$

then, I should be able to run using below:
@Test
// should pick from relative-apth from PWD //
@Scenario("./http-testing-examples/src/test/resources/helloworld/hello_world_status_ok_assertions.json")
public void testGet() throws Exception {
}

// in the above PWD = /home/authorj/code/zerocode, which is represented by "."
```

Example 2:
```
$pwd
/home/authorj/code/zerocode/http-testing-examples/src
$

then, I should be able to run using below:
@Test
// should pick from relative-apth from PWD //
@Scenario("./test/resources/helloworld/hello_world_status_ok_assertions.json")
public void testGet() throws Exception {
}

// in the above PWD = /home/authorj/code/zerocode/http-testing-examples/src, which is represented by "."
```

-------
Linked Issue #722

AC = Acceptance Criteria

Contributor guide

Open the contributing guide

Research direction

Start with the @Scenario usage in JustHelloWorldTest.java and the ZeroCodeUnitRunner entry point. Check the existing classpath-based scenario tests, then verify that paths beginning with ./ resolve from the process working directory while the current classpath behavior remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.