Merge remote-tracking branch 'origin/1.4.0-reflection' into 1.4.0-reflection
add assembleBy method
add detail testcasees
add detail spec
Update spec