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

Package Sidebar

Install

npm i cavy-extension

Weekly Downloads

2

Version

0.0.4

License

MIT

Unpacked Size

16.1 kB

Total Files

17

Last publish

Collaborators

  • licanhua