• 诚意租房网blog3


    一:测试工作:

    对于dao层的测试我们使用到了TestNg和dbunit已经spring-test-dbunit框架:

    在使用dbunit工具的使用使用到了一个

    <!-- dbutil测试工具的引入依赖 -->
    <dependency>
    <groupId>com.github.springtestdbunit</groupId>
    <artifactId>spring-test-dbunit</artifactId>
    <version>1.2.0</version>
    </dependency>

    这个工具框架,很有用,我们来看具体的dao层的测试代码:

    /**
     * 对dao进行单元测试的类
     * classpath:/dbutils_xml/expect.xml
     * */
    @SuppressWarnings("deprecation")
    @ContextConfiguration(locations = {"classpath:applicationContext.xml",
            "classpath:dispatcher-servlet.xml" })
    //配置事务的回滚,对数据库的增删改都会回滚,便于测试用例的循环利用
    @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
    @Transactional
    @TestExecutionListeners({DbUnitTestExecutionListener.class,
            DependencyInjectionTestExecutionListener.class,
            DirtiesContextTestExecutionListener.class})
    // 如果在Spring Test DbUnit中不配置其他的数据源默认使用Spring容器中id="dataSource"的数据源,Spring Test DbUnit支持配置多数据源。
    @DbUnitConfiguration(databaseConnection="pooledDataSource")
    public class DaoTestByTestNG extends AbstractTestNGSpringContextTests{
        @Autowired
        private  GuanzhuMapper guanzhuMapper;
        @Test
        @DatabaseSetup(type=DatabaseOperation.CLEAN_INSERT,value="classpath:/dbutils_xml/setup.xml")//setup阶段执行clean_insert操作,数据导入到数据库中,在测试之前执行
        @ExpectedDatabase(assertionMode=DatabaseAssertionMode.NON_STRICT,value="classpath:/dbutils_xml/add_expect.xml")//将测试操作后的数据库数据与期望的xml数据进行比较是否相等,来判定测试是否通过,assertionMode设置比较的模式。跑完test后执行
        @DatabaseTearDown(type=DatabaseOperation.CLEAN_INSERT,value="classpath:/dbutils_xml/setup.xml")//恢复数据库中的数据,测试之后执行。
        public void testDelete() {
            System.out.println("delete");
            int deleteByPrimaryKey = guanzhuMapper.deleteByPrimaryKey(12);
        }
    }
    

    第一:使用Spring-Test对Spring框架进行单元测试,需要引入下面的java包

    <!--spring单元测试依赖 -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${springframework}</version>
    <scope>test</scope>
    </dependency>

    第二:因为采用的TestNg测试框架,没有使用junit测试框架,所以在编写的单元测试类都需要继承AbstractTestNGSpringContextTests

    第三:在运行单元测试框架的时候,使用首先dbunit备份数据库中的真实数据,然后在测试的过程中使用测试数据,最后单元测试完成之后再把保存的真实数据还原到数据库中

    //备份数据库文件
                    @BeforeClass
                    public static void testBackup(){
                        try {
                            System.out.println("@BeforeClass");
                            IDatabaseConnection con = new DatabaseConnection(DBUtils.getConnection());
                            IDataSet createDataSet = con.createDataSet();
                            FlatXmlDataSet.write(createDataSet, new FileWriter("d:/test22.xml"));
                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        
                    }
                    
                    //还原数据库文件
                    @AfterClass
                    public static void testResume(){
                        try {
                            System.out.println("@AfterClass");
                            IDatabaseConnection con = new DatabaseConnection(DBUtils.getConnection());
                            IDataSet dataSet = new FlatXmlDataSet(new FlatXmlProducer(
                                    new InputSource("d:/test22.xml")));
                            //清空数据库中的数据并插入xml中的数据
                            org.dbunit.operation.DatabaseOperation.CLEAN_INSERT.execute(con,dataSet);
                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        
                    }
    

      

    二:部署工作

    第一步:服务器的环境部署

    1:安装jdk8

    2:安装MySQL5.7,可以按照这个链接进行安装:https://www.cnblogs.com/chancy/p/9444187.html

    3:在服务器上安装tomcat,安装完成过后开启服务,在自己电脑浏览器地址栏输入IP:8080

    4:可以用Xftp将已经打包好的 “项目.war” 发送到服务器webapps目录下,并改名为ROOT.war(记得将原来的ROOT删除)

    5:然后浏览器输入IP:8080/就出现了我们的项目了

     

    (三)项目访问地址以及需注意的相关事项说明:

    浏览器地址栏输入:http://148.70.249.79:8080/

    一些事项说明:

    1:管理员登录也是通过该页面进行登录,有个管理员账号,然后便可以进入后台管理系统。

    下图即为后台管理界面:

    2:发布房屋上传图片后,该页面没有什么明显显示,但是你将光标移到上传处就会显示你的图片名字,即成功上传。

    3:项目可能还存在一些bug,请大家多多指教!

  • 相关阅读:
    linux常用命令
    Nfs的简单了解
    关于快速排序的学习
    The goal you specified requires a project to execute but there is no POM in this directory
    TeamCity编译执行selenium上传窗口脚本缺陷
    插入排序
    选择排序
    冒泡排序
    使用.bat文件运行ant的build.xml
    性能测试工具Loadrunner使用经验小结(原创更新版)
  • 原文地址:https://www.cnblogs.com/April315/p/11031617.html
Copyright © 2020-2023  润新知