Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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
如何编写一个需要一个可操作的mySQL数据库的测试模块?_Mysql_Node.js_Testing_Orm - Fatal编程技术网

如何编写一个需要一个可操作的mySQL数据库的测试模块?

如何编写一个需要一个可操作的mySQL数据库的测试模块?,mysql,node.js,testing,orm,Mysql,Node.js,Testing,Orm,我正在编写一个nodejsnpm模块,它需要一个mySQL数据库来运行 我想写一个测试模块,连接到一个“假”数据库,并对其执行一些操作 我已经在我的开发机器上本地设置了测试数据库,但是我希望这个测试可以在任何机器上运行 编写依赖于运行中的mySQL数据库的集成测试模块的最佳实践是什么 网络中是否存在任何公共服务,我可以获得一个临时mysql用户/密码,在有限的时间/大小内执行一些操作?通常,您会设置一个持续集成(CI)系统,在每次提交版本控制系统的更改时执行测试。CI系统将为您的测试提供一个干净

我正在编写一个nodejsnpm模块,它需要一个mySQL数据库来运行

我想写一个测试模块,连接到一个“假”数据库,并对其执行一些操作

我已经在我的开发机器上本地设置了测试数据库,但是我希望这个测试可以在任何机器上运行

编写依赖于运行中的mySQL数据库的集成测试模块的最佳实践是什么


网络中是否存在任何公共服务,我可以获得一个临时mysql用户/密码,在有限的时间/大小内执行一些操作?

通常,您会设置一个持续集成(CI)系统,在每次提交版本控制系统的更改时执行测试。CI系统将为您的测试提供一个干净的MySQL数据库。如果您在云中使用CI系统,您通常可以轻松地将其配置为提供数据库。例如,见

如果您设置了CI系统,其他开发人员仍然需要在他们的计算机上运行他们自己的MySQL数据库,如果他们想要执行测试的话。或者,您可以在测试中使用模拟而不是真实的数据库。详情请参阅:


但是,使用mock不会给您提供足够的测试结果,因为mock只是以一种简单的方式模拟数据库。有时模拟可能太简单,或者只是有问题。因此,您还需要针对真实数据库运行至少一些测试。因此,您可以选择使用CI系统对真实数据库运行测试,并在开发期间对模拟数据库运行测试。

通常,您会设置一个持续集成(CI)系统,在每次提交版本控制系统更改时执行测试。CI系统将为您的测试提供一个干净的MySQL数据库。如果您在云中使用CI系统,您通常可以轻松地将其配置为提供数据库。例如,见

如果您设置了CI系统,其他开发人员仍然需要在他们的计算机上运行他们自己的MySQL数据库,如果他们想要执行测试的话。或者,您可以在测试中使用模拟而不是真实的数据库。详情请参阅:


但是,使用mock不会给您提供足够的测试结果,因为mock只是以一种简单的方式模拟数据库。有时模拟可能太简单,或者只是有问题。因此,您还需要针对真实数据库运行至少一些测试。因此,您可以选择使用CI系统对真实数据库运行测试,并在开发过程中对模拟数据库运行测试。

对于需要通过公共互联网访问内容的短期测试,我建议您不完全理解这个问题。如果用于任何实际流量,Amazon web服务可能会很快变得昂贵,但对于任何概念验证来说,它仍然是一个很好的选择。

对于需要通过公共互联网访问内容的短期测试,我并不完全理解我建议的问题。如果用于任何实际流量,AmazonWeb服务可能会很快变得昂贵,但对于任何概念验证来说,它仍然是一个不错的选择