package org.apache.eventmesh.dashboard.core;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class EventMeshDashboardApplicationTest {

    @Test
    void contextLoads() {
    }

}
