Hi Gopu,
you need to give us more details for us to help.
Which story are you trying to run the story? And how are you trying to
run it - Maven or Eclipse? What is your env, JDK, Eclipse, mvn etc ... ?
Also, given the example code is available to everybody on source
control, there is no need to copy it in the email.
Cheers
On 16/10/2012 18:59, Gopu Shrestha wrote:
I am trying to run Trader Example to implement ExampleTable for
Parameterized Tabular Data. I am getting an error of "No runnable
methods".
Can anybody help me, please.
my story:
Scenario: To print tabular data
Given the traders:
name rank
Larry Stooge 3
Moe Stooge 1
Curly Stooge 2
When a wildcard search ".*y" is executed"
Then the traders returned are:
name rank
Larry Stooge 3
Curly Stooge 2
package com.BaseStory;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import org.jbehave.core.model.ExamplesTable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import static org.junit.Assert.*;
import model.Stock;
import model.Trader;
import model.Stock.AlertStatus;
import service.TradingService;
public class TraderSteps {
private TradingService service;
private Stock stock;
private Trader trader;
private List<Trader> traders = new ArrayList<Trader>();
private List<Trader> searchedTraders;
@Given("the traders: %tradersTable")
public void theTraders(ExamplesTable tradersTable) { traders.clear();
traders.addAll(toTraders(tradersTable)); }
@When("a wildcard search \"%regex\" is executed")
public void aWildcardSearchIsExecuted(String regex) {
searchedTraders = new ArrayList<Trader>();
for (Trader trader : traders) {
if ( trader.getName().matches(regex) ){ searchedTraders.add(trader); }
}
}
@Then("the traders returned are: %tradersTable")
public void theTradersReturnedAre(ExamplesTable tradersTable) {
List<Trader> expected = toTraders(tradersTable);
assertEquals(expected.toString(), searchedTraders.toString()); }
private List<Trader> toTraders(ExamplesTable table) {
List<Trader> traders = new ArrayList<Trader>();
List<Map<String, String>> rows = table.getRows();
for (Map<String, String> row : rows) { String name = row.get("name");
String rank = row.get("rank"); traders.add(service.newTrader(name,
rank)); }
Collections.sort(traders);
return traders;
}
}