Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用值填充MySQL数据库_Java_Sql_Mysql_Unit Testing_Mysql Workbench - Fatal编程技术网

Java 用值填充MySQL数据库

Java 用值填充MySQL数据库,java,sql,mysql,unit-testing,mysql-workbench,Java,Sql,Mysql,Unit Testing,Mysql Workbench,我在笔记本电脑上安装了一个本地MySQL服务器,我想使用其中的信息进行单元测试,所以我想创建一个脚本来自动生成所有数据。我正在使用MySQL Workbench,它已经(从模型)生成了表。是否可以使用它或其他工具创建一个自动脚本来填充数据 编辑:我现在明白了,我不清楚。我确实为单元测试提供了有意义的数据。当我说“自动生成所有数据”时,我的意思是该工具应该获取我今天在本地数据库中拥有的有意义的数据,并创建一个脚本以在其他开发人员的数据库中生成相同的数据。您可以使用默认值填充(如果已定义) 最有用的

我在笔记本电脑上安装了一个本地MySQL服务器,我想使用其中的信息进行单元测试,所以我想创建一个脚本来自动生成所有数据。我正在使用MySQL Workbench,它已经(从模型)生成了表。是否可以使用它或其他工具创建一个自动脚本来填充数据


编辑:我现在明白了,我不清楚。我确实为单元测试提供了有意义的数据。当我说“自动生成所有数据”时,我的意思是该工具应该获取我今天在本地数据库中拥有的有意义的数据,并创建一个脚本以在其他开发人员的数据库中生成相同的数据。

您可以使用默认值填充(如果已定义)


最有用的单元测试是那些反映您期望或在实践中看到的数据的单元测试。用随机位填充模式不能替代精心编制的测试数据。因为@ McWAFListx建议MySQL LoIP是一个有用的工具,但是如果你想要更简单的东西,考虑使用它,它从CSV中填充一个表。p> 还有一些事情需要考虑:

  • 使用处于已知状态的数据库进行测试。将所有数据库交互单元测试包装在始终回滚的事务中
  • 用以达到同样的目的
  • 更新

    如果您在Java环境中,dbUnit是一个很好的解决方案:

  • 您可以通过其API以XML格式导入和导出数据,这将解决从您的计算机到团队中其他成员的问题
  • 它是用来恢复数据库状态的。因此,它在执行测试之前对数据库进行快照,然后在测试结束时进行恢复。因此,测试没有副作用(即,它们不会永久性地改变数据)
    我相信您希望使用
    mysqldump
    实用程序将数据(和/或架构)转储到脚本文件中。>如果你想生成虚拟内容,我认为emsdatageneratormysql是最好的工具。
    CREATE TABLE #t(c1 int DEFAULT 0,c2 varchar(10) DEFAULT '-')
    GO
    --This insert 50 rows in table
    INSERT INTO #t( c1, c2 )
    DEFAULT VALUES
    GO 50
    
    SELECT * FROM #t
    DROP TABLE #t