Javascript 配置Intern以设置/拆除我的服务器模拟

Javascript 配置Intern以设置/拆除我的服务器模拟,javascript,unit-testing,mocking,intern,saucelabs,Javascript,Unit Testing,Mocking,Intern,Saucelabs,我正在使用Intern为JavaScript小部件编写测试套件 我已经编写了一些纯JavaScript测试和一些页面内测试,但我有点被困在如何为功能编写功能测试上,这应该与我的简单模拟服务器(它可以处理手动测试)进行对话 具体来说,我想做的是: 在测试套件的安装阶段启动Node.js模拟服务器 测试结束后,拆除模拟服务器 (加分)能够通过实习测试询问模拟服务器,例如,检查对模拟服务器的请求内容 我在这三个方面都有困难——我找不到任何一个或来自Intern的关于如何在测试套件中处理单独进程(如No

我正在使用Intern为JavaScript小部件编写测试套件

我已经编写了一些纯JavaScript测试和一些页面内测试,但我有点被困在如何为功能编写功能测试上,这应该与我的简单模拟服务器(它可以处理手动测试)进行对话

具体来说,我想做的是:

  • 在测试套件的安装阶段启动Node.js模拟服务器
  • 测试结束后,拆除模拟服务器
  • (加分)能够通过实习测试询问模拟服务器,例如,检查对模拟服务器的请求内容
  • 我在这三个方面都有困难——我找不到任何一个或来自Intern的关于如何在测试套件中处理单独进程(如Node.js模拟服务器)的设置或拆卸的信息


    我正在使用Intern with Sauce Labs(托管)-我不确定我的问题是需要在实习生方面解决,还是也需要在Sauce Labs方面解决。希望有人能做到这一点,并提供建议。

    如果您希望为每个套件启动和停止服务器,则可以使用
    设置
    拆卸
    方法执行此操作,例如:

    var server;
    
    registerSuite({
        name: 'myTests',
    
        setup: function () {
            server = startServer();
        },
    
        teardown: function () {
            server.close();
        },
    
        ...
    });
    

    startServer
    将是您用来启动测试服务器的任何函数。它可能会返回一个用于与服务器交互的对象。套件中的任何测试都可以访问
    服务器
    对象。

    您能详细说明一下您在哪里/如何陷入困境吗?Hi Shog9-我找不到Intern提供的关于如何在测试套件中处理单独进程(如node.js模拟服务器)的安装或拆卸的任何文档。除此之外,我不知道该说什么。。。Intern背后的团队指导用户在Stack Overflow上发布支持问题,它让我得到的只是反对票!:-)那更好。很抱歉,我帮不了你,但希望熟悉实习生的人能够解决这个问题。嗯,我不熟悉酱汁的工作原理。您的节点模拟服务器是否也在其服务器上运行?如果一切都在本地运行,我会尝试只执行
    child_process.spawn('node',['myMockServer.js'])在设置阶段(使用一些魔术来避免多个实例)。但我猜用酱汁会让事情复杂一些。模仿Ajax请求本身是不可能的,是吗?@AlexDean我没有任何好的链接。我刚刚从示例中看到,在registerSuite对象中可以有一个
    setup
    (在套件之前调用)、一个
    teardown
    (在套件之后调用)和一个
    beforeach
    (在套件中的每个测试之前调用)方法。