将 Pa11y 与超测结合使用

Using Pa11y with Supertest

在 Supertest 中使用 Pa11y 的最佳方式是什么?类似于:

describe ('my page', function () {
    it ('is accessible', function () {
        request (server).get ('/').expect (function ({ body }) {

            // How to run Pa11y here?

        });
    });
})

我建议完全不要使用 supertest 进行这些可访问性测试,因为 pa11y 可以直接 ping url。

const pa11y = require('pa11y');
const request = require('supertest');
const mocha = require('mocha');
const { expect } = require('chai');
const server = require('./server');

const url =
  process.env.NODE_ENV === 'testing'
    ? 'http://localhost:3000'
    : 'http://example.com';

describe('my page', function() {
  it('is accessible', function(done) {
    pa11y(`${url}/`, function(err, results) {
      expect(results.issues).to.be.empty;
      done();
    });
  });
});