# Unit Tests in Serverless / Jest encountered an unexpected token

**URL:** <https://discourse.sst.dev/t/unit-tests-in-serverless-jest-encountered-an-unexpected-token/1455>\
**Category:** General\
**Created:** [November 23, 2019, 2:45am UTC](https://discourse.sst.dev/t/unit-tests-in-serverless-jest-encountered-an-unexpected-token/1455 "2019-11-23T02:45:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![PercyTuncar](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sst.dev/percytuncar/32/680_2.png) [@PercyTuncar](https://discourse.sst.dev/u/PercyTuncar)\
**Post date:** [November 23, 2019, 2:45am UTC](https://discourse.sst.dev/t/unit-tests-in-serverless-jest-encountered-an-unexpected-token/1455/1 "2019-11-23T02:45:06Z")

</div>

Hey! Got the error:  
notes-app-api@1.1.0 test /home/tuncar/Desktop/AWS/notes-app-api

> jest

FAIL tests/billing.test.js  
● Test suite failed to run

```
Jest encountered an unexpected token

This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".

Here's what you can do:
 • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
 • If you need a custom transformation specify a "transform" option in your config.
 • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html

Details:

/home/tuncar/Desktop/AWS/notes-app-api/tests/billing.test.js:1
({"Object.<anonymous>":function(module,exports,require, __dirname,__ filename,global,jest){import { calculateCost } from "../libs/billing-lib";
                                                                                                ^

SyntaxError: Unexpected token {

  at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
  at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)

```

Test Suites: 1 failed, 1 total  
Tests: 0 total  
Snapshots: 0 total  
Time: 3.267s  
Ran all test suites.  
npm ERR! Test failed. See above for more details.

> **[Unit Tests in Serverless](https://sst.dev/chapters/unit-tests-in-serverless.html)**
>
> In this chapter we look at how to test the infrastructure and the Lambda functions in our serverless app. We use SST's built in test command to help us write and run our tests.

Help me please

 ![Screenshot%20from%202019-11-22%2022-27-11](https://canada1.discourse-cdn.com/flex032/uploads/serverless_stack/original/1X/5fb9e6743356b672360828b7b3c1f7df5b632a35.png)

---

<div class="post-metadata">

**Author:** ![jayair](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.sst.dev/jayair/32/9_2.png) [@jayair](https://discourse.sst.dev/u/jayair)\
**Post date:** [December 16, 2019, 1:13am UTC](https://discourse.sst.dev/t/unit-tests-in-serverless-jest-encountered-an-unexpected-token/1455/2 "2019-12-16T01:13:47Z")

</div>

If you are using the starter project that comes with the guide, you should use this instead to run your tests (in your `package.json`):

```auto
"scripts": {
  "test": "serverless-bundle test"
},

```

And run it using `npm run test`.
