1.4.0 • Published 2 years ago

@crishellco/vue-coy v1.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Vue Coy

A CLI tool to help identify missing Vue component tests.

Table of contents

Install

# in a project
yarn add -D @crishellco/vue-coy

# globally 
yarn global add @crishellco/vue-coy

Usage

What does it look for?

exports.GROUPS_TO_TEST = ['watch', 'computed', 'methods'];
exports.HOOKS_TO_TEST = [
  'beforeCreate',
  'created',
  'beforeMount',
  'mounted',
  'beforeUpdate',
  'updated',
  'activated',
  'deactivated',
  'beforeUnmount',
  'unmounted',
  'beforeDestroy',
  'destroyed',
  'renderTracked',
  'renderTriggered',
  'errorCaptured',
];

When should you use it?

  • in your test suite
  • in your pre-commit hooks
  • in your builds
  • manually as a sanity check

Config (optional)

// coy.config.json
{
  "ignore": ["node_modules"],
  "paths": ["**"], 
  "regex": "(.+)?{key}(.+)?", 
  "testFileExtension": "spec.js" 
}

Options

NameTypeDefaultDescription
ignoreArray['**/node_modules/**']Which folders to ignore (globs)
pathsArray['**']Where to look for Vue files (globs)
regexString'(.*?{key}.*?)'How to determine if a test exists (regex). {key} gets replaced with the name of the missing item.
testFileExtensionString'spec.js'Test file extension

Command Line

# in a project
$ yarn coy 
$ yarn coy -c 
$ yarn coy -c master
$ yarn coy -s
$ yarn coy -s path/to/save/report.json
$ yarn coy -w

# globally 
$ coy 
$ coy -c
$ coy -c master
$ coy -s
$ coy -s path/to/save/report.json
$ coy -w

Options

FlagArgumentDefaultDescription
-c, --changedbranch (optional)masterOnly analyze changes compared to a branch
-s, --savefile (optional)missing-test-report.jsonSaves missing test report to a JSON file
-w, --watchWatch for changes and reevaluate missing tests
-h, --helpDisplay help for command

Display In Terminal (default)

image

Save To File (with -s)

{
  "test/fixtures/missing.vue": {
    "missing": {
      "methods": [
        {
          "key": "foo",
          "link": "test/fixtures/missing.vue:10"
        }
      ]
    },
    "testFile": "test/fixtures/missing.spec.js",
    "testSource": "describe('index.vue', () => {\n  describe('methods', () => {});\n});\n"
  },
  "test/fixtures/no-test.vue": {
    "missing": {
      "methods": [
        {
          "key": "foo",
          "link": "test/fixtures/no-test.vue:10"
        }
      ]
    },
    "testFile": "test/fixtures/no-test.spec.js",
    "testSource": null
  }
}

Ignoring Code

<script>
  export default {
    methods: {
      // coy-ignore-next
      foo() {}
    }
  }
</script>

How to Contribute

Pull Requests

  1. Fork the repository
  2. Create a new branch for each feature or improvement
  3. Please follow semantic-release commit format
  4. Send a pull request from each feature branch to the develop branch

License

MIT

1.4.0

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago