How does mocha Test Promise

  node.js, question

Do the following two tests to test Promise, but they did not get the desired effect.
The code is as follows

var assert = require('assert');
 describe('test', function() {
 
 describe("promise", function() {
 it("promise test", function() {
 
 Promise.resolve("OK").then(function(value) {
 assert.equal(value, "!  dsadfasdfOKx");  //It is obvious here that assertion errors should be thrown directly.
 }, function(err) {
 assert.ok(!  err);
 });
 
 });
 
 
 //I explained http://mochajs.org/#working-with-promises according to mocha's official test of Promise
 //However, a TypeError: Cannot Read Property' Eventually' of Undefined was thrown.
 it("promise test2", function() {
 
 return Promise.resolve("OK").should.eventually.equal("OK");
 
 });
 })
 });

Solving.
How to write the test of Promise?

The official website is very, very clear.

Alternately, instead of using the done() callback, you may return a Promise. This is useful if the APIs you are testing return promises instead of taking callbacks

For your first case, you shouldreturn a Promise

it("promise test", function() {
 
 return Promise.resolve("OK").then(function(value) {
 assert.equal(value, "!  dsadfasdfOKx");  //It is obvious here that assertion errors should be thrown directly.
 }, function(err) {
 assert.ok(!  err);
 });
 
 });

The following sentence

(The latter example uses Chai as Promised for fluent promise assertions.)

According to your copy of the official case, rely onChai as Promised