prepack/test/react/RenderProps-test.js
Dan Abramov 5159b0d832 Make React tests fast (#2187)
Summary:
Currently we have a single giant file with all tests, and a giant snapshot. This is both slow, and hard to work with and iterate on.

In this PR I will refactor our test setup.

- [x] Split it up into multiple files (gets the test running from 45s to 27s)
- [x] Run Prettier on test files
- [x] Split tests further for better performance
- [x] Make it possible to run one test file
- [x] Fix the issue with double test re-runs in watch mode on changes in the test file
- [x] Refactor error handling
- [x] Run Prettier on fixtures
- [x] Add a fast mode with `yarn test-react-fast <Filename>`
- [x] Fix double reruns on failure

Potential followups:
- [x] Figure out why test interruption broke (need https://github.com/facebook/jest/issues/6599 and https://github.com/facebook/jest/issues/6598 fixed)
- [x] Revisit weird things like `this['React']` assignment with a funny comment in every test
Closes https://github.com/facebook/prepack/pull/2187

Differential Revision: D8713639

Pulled By: gaearon

fbshipit-source-id: 5edbfa4e61610ecafff17c0e5e7f84d44cd51168
2018-07-02 11:25:58 -07:00

73 lines
1.8 KiB
JavaScript

/**
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
/* @flow */
const setupReactTests = require("./setupReactTests");
const { runTest } = setupReactTests();
/* eslint-disable no-undef */
const { it } = global;
it("Relay QueryRenderer", () => {
runTest(__dirname + "/RenderProps/relay-query-renderer.js");
});
it("Relay QueryRenderer 2", () => {
runTest(__dirname + "/RenderProps/relay-query-renderer2.js");
});
it("Relay QueryRenderer 3", () => {
runTest(__dirname + "/RenderProps/relay-query-renderer3.js");
});
it("React Context", () => {
runTest(__dirname + "/RenderProps/react-context.js");
});
it("React Context 2", () => {
runTest(__dirname + "/RenderProps/react-context2.js");
});
it("React Context 3", () => {
runTest(__dirname + "/RenderProps/react-context3.js");
});
it("React Context 4", () => {
runTest(__dirname + "/RenderProps/react-context4.js");
});
it("React Context 5", () => {
runTest(__dirname + "/RenderProps/react-context5.js");
});
it("React Context 6", () => {
runTest(__dirname + "/RenderProps/react-context6.js");
});
it("React Context 7", () => {
runTest(__dirname + "/RenderProps/react-context7.js");
});
it("React Context from root tree", () => {
runTest(__dirname + "/RenderProps/react-root-context.js");
});
it("React Context from root tree 2", () => {
runTest(__dirname + "/RenderProps/react-root-context2.js");
});
it("React Context from root tree 3", () => {
runTest(__dirname + "/RenderProps/react-root-context3.js");
});
it("React Context from root tree 4", () => {
runTest(__dirname + "/RenderProps/react-root-context4.js");
});