我们有一个项目,我们需要为其进行功能测试,创建一个假数据库和假数据。最初我们从一个脚本开始,使用猫鼬创建实体,初始化它们并保存它们。在mongodb中设置虚假数据进行测试
var StudentA = new Student();
StudentA.name = "Bob";
StudentA.surname = "Marley";
StudentA.save();
随着应用程序的增长和文件之间的关系增加,这个脚本变得绝对乱七八糟。现在它在我们投资应用程序开发的时间方面构成了一个瓶颈。
问题是,有没有更好的方法来做到这一点?例如一个以更结构化的方式用数据填充数据库的库?还是应该像csv文件一样解析文件,然后将它推送到mongo?
问题是针对mongodb,但它可以推广到任何种类的需要用假数据填充的NO-SQL数据库中。 (对于RDBMS,使用类似语法的SQL更简单)
这听起来足够强大。有没有一种简单的方法来管理这种方法中的文档关系?例如每个学生都有一个学校作为一个领域。在我的脚本中,mongoose处理这个id创建阶段(简单地当你创建对象时) - 在这种方法中,我需要手动设置Id到学校并将它们链接到json文档中? – ralzaul
是的,你将不得不手动维护关系。请记住'_id'不需要是ObjectId。只要它是独一无二的,它可以是任何东西。 所以'school.json'可以包含:'{_id:1,name:“Foo”}'和'student.json'可以包含'{_id:“student_1”,school_id:1,name:“John”}' 。 请记住尝试嵌入文档,而不是制作“类似SQL的连接”。 –
另外,我会使用不同的(小)json文件来确保我的所有测试都保持独立,以避免巨大的数据集。 –