2016-06-26 10 views
0

Concordion을 사용하여 일부 Java 구성 요소를 테스트하고 있습니다. 내가 계산 및 동적으로 치환된다 #B의 값으로 원하는Concordion : #TEXT 내의 매개 변수 값을 얻는 방법

<pre concordion:execute="someFunction(#TEXT, #a)"> 
    { 
    id:123, 
    name:<span concordion:echo="#b"/> 
    } 
    </pre> 

같은 것을 기록합니다. 그러나 someFunction의 값 #b 대신 빈 문자열이옵니다. 누군가가 이런 일을 할 경우

name:<span concordion:execute="getBValue()"/> 

사용하는 경우 마찬가지로, 당신은 도움을 주시기 바랍니다 수 있습니다.

감사합니다.

<span concordion:execute="#name=getBValue()"/> 

echo command 다음 :

답변

0

당신은 변수 # NAME 초기화 execute command를 사용할 수

name: <span concordion:echo="name" /> 

을하거나 echo 명령에서 바로 메소드를 호출하는 시도?

name: <span concordion:echo="getBValue()" /> 
+0

..
내에서 태그 스팬을 사용하려고 시도했지만,이 태그는 모두 무시됩니다. – Kass

0

문제가 html 구조와 관련이 있습니까? 는 이러한

중첩 된 요소를 사용
<pre concordion:execute=...> <span concordion:assert-equals=...>...</span> <span concordion:set=...>...</span> </pre> 

Concordion는 다음의 실행 순서를 사용하여 실행] 등

  1. 모두 "표준"에코 세트로 명령,
  2. 을 명령
  3. assert-equals와 같은 어설 션 명령

이 방법은입니다..

실행 명령을 전용 span 태그에 넣는 것은 어떻습니까?

<pre> <span concordion:execute=...>...</span> <span concordion:echo=...></span> </pre> 
1

나는이 사용 목적을 위해 Concordion이 디자인이 아니라고 생각합니다. 템플릿 엔진이 아닙니다. 사양의 텍스트 요소를 입력으로 자동 테스트에 전송할 수 있습니다. 또한 스펙 내의 스펙 값을 참조로 사용하여 테스트중인 시스템의 실제 출력을 비교할 수 있습니다.

다른 방법 된 SomeFuncion() 아마 당신은 몇 가지 옵션이 있습니다에 몇 가지 방법 getBValue()의 결과를 전송하려면 :

  1. 무엇 당신 된 SomeFuncion 내부 getBValue()를 호출에 대한()?
  2. 또는이 변수로 몇 가지 기능을 변수로 getBValue()의 결과를 전송하고 호출 할 수 있습니다 당신이 자리를 대체 할 수있는) 된 SomeFuncion (의 내부에 그런

<pre concordion:execute="someFunction(#TEXT, #a, #b)"> 
 
    { 
 
    id:123, 
 
    name:placeholder-for-value-b 
 
    } 
 
</pre>

:

public void someFunction(String text, String aValue, String bValue) { 
    text.replace("placeholder-for-value-b", bValue); 
    //continue logic of someFunction 
} 
+0

이것이 제가 권장할만한 접근법입니다. 비슷한 질문에 답하는 http://stackoverflow.com/a/38202917/1108508을 참조하십시오. –