Noiseless Peaceful Morning

    cavy-extension
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.4 • Public • Published

    cavy-extension

    npm version

    Cavy is a cross-platform integration test framework for React Native.

    Cavy-extension extends the functionality of cavy.

    • It simplied the steps in component testing and enable user only need to be focused only on authoring test spec and test pages.
    • User only need to provides a testpage, a key which associate swith the testpage. And toTestPage would help to navigate directly to the test page.
    • Allow user to extend the functionality of TestScope and provides IntelliSense when authoring spec.

    Steps to authoring test case

    1. Write a simple UI test page.
    export const ExampleTestPage1 = () => {
        const generateTestHook = useCavy();
        const [text, setText] = useState('');
     
        return <TextInput placeholder="ExampleTestpage 1"
            onChangeText={(text) => setText(text)} value={text}
            ref={generateTestHook('Example1.TextInput')} />;
    };
     
    1. Aggregate the testpages with keys. For example: Example1
    export const TestPages: Array<ITestPage= [
        {
            key: 'Example1',
            title: 'TestExample by import {ExampleTestPage1}',
            page: ExampleTestPage1
        },
        {
            key: 'Example2',
            title: 'TestExample by import ExampleTestPage',
            page: ExaExampleTestPage2
        },
    1. Write the spec. toTestPage('Example1') helps to navigate to test page.
          await spec2.toTestPage('Example1');

    Functionality of this extension

    • Provides a simple testapp, test main page, back button on subpage. and toTestPage to help the navigation.

      1. Test main page

      ![testcaselist](https://user-images.githubusercontent.com/6290692/59141800-3af13080-8968-1 1e9-9b27-dfd7b9e130ea.png)

      1. Test sub page

      testcase

    • Add your own functionality to spec and inject it to spec. like Spec2

    function ExampleSpec (spec: TestScope, spec2: SpecHelper) {
      spec.describe('Example 1', function () {
     
        spec.it('Test Example 1', async function () {
          await spec2.toTestPage('Example1');
    ...
        });
     
      });

    Or

    export default function (spec: TestScope) {
      let spec2: SpecHelper = new SpecHelper(spec);
     
      spec.describe('Sample Module', function () {
     
        spec.it('SampleModule', async function () {
          await spec2.toTestPage('SampleModule');
         ...
        });
     
      });
    • A typescript project IntelliSense for spec or spec2 in IDE.

    intell

    Test Example

    mYtEST

    Install

    npm i cavy-extension

    DownloadsWeekly Downloads

    0

    Version

    0.0.4

    License

    MIT

    Unpacked Size

    16.1 kB

    Total Files

    17

    Last publish

    Collaborators

    • licanhua