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;
}

}


Reply via email to