相同的内容但JUnit测试失败(IntelliJ)

时间:2015-09-04 07:20:55

标签: java intellij-idea junit system-rules

我有一个比较两个字符串的JUnit测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = CDPlayerConfig.class)
public class CDPlayerTest {

    @Rule
    public final SystemOutRule log = new SystemOutRule().enableLog();

    @Autowired
    private CompactDisc cd;

    @Autowired
    private MediaPlayer player;

    @Test
    public void cdShouldNotBeNull() {
        assertNotNull(cd);
    }

    @Test
    public void play() {
        player.play();
        assertEquals("Playing title Sgt. Pepper's Lonely Hearts Club Band by artist The Beatles\n",
                log.getLog());
    }
}

我在第二次测试时遇到org.junit.ComparisonFailure例外。但是,IntelliJ显示的内容是相同的。我错过了什么?

编辑:在期望的字符串末尾添加了\ n。

enter image description here

2 个答案:

答案 0 :(得分:5)

你有不同的终点线标志(LF vs CRLF)

答案 1 :(得分:4)

尝试添加log.getLog().trim()并从预期字符串的末尾删除\ n。