Как я могу написать модульный тест для создания уникального идентификатора?

Я видел довольно аккуратную статью об этом ... так что если вам это нравится:

CREATE PROC [dbo].[spUpdateMarks]
    @inputJSON VARCHAR(MAX)  -- '[{"ID":"1","C":"60","CPP":"60","CS":"60"}]'
AS
BEGIN
    -- Temp table to hold the parsed data
    DECLARE @TempTableVariable TABLE(
        element_id INT,
        sequenceNo INT,
        parent_ID INT,
        [Object_ID] INT,
        [NAME] NVARCHAR(2000),
        StringValue NVARCHAR(MAX),
        ValueType NVARCHAR(10)
    )
    -- Parse JSON string into a temp table
    INSERT INTO @TempTableVariable
    SELECT * FROM parseJSON(@inputJSON)
END

Попробуйте посмотреть здесь:

https: // www.simple-talk.com/sql/t-sql-programming/consuming-json-strings-in-sql-server/

Здесь есть полный проект ASP.Net об этом : http://www.codeproject.com/Articles/788208/Update-Multiple-Rows-of-GridView-using-JSON-in-ASP

1
задан Scott Rudiger 20 March 2019 в 06:58
поделиться

1 ответ

Я предполагаю, что вы хотите проверить, что context получает соответствующий id, который представляет собой верхний регистр String, начинающийся с name и сопровождаемый 18 символами A-Z или цифрами.

Я не знаю, какую платформу тестирования вы используете, но вы можете проверить id с помощью Регулярного выражения :

// ignore this, just require the 'uniqid' module
const uniqid = str => `${str}4n5pxq24kpiob12og9`;

const addId = ({name}) => {
  return context => {
    // Generate a uniqid and add it user
    context.data['id'] = uniqid(name).toUpperCase();
    return context;
  };
};

// addId should add an appropriate id to `user.data.id`
const {data: {id}} = addId({name: 'Annie'})({data: {}});
console.assert(/^ANNIE[A-Z\d]{18}$/.test(id));
[ 1119]

Редактировать: Поскольку вы используете mocha, вы также можете добавить в chai и использовать его метод match следующим образом:

[ 111]
0
ответ дан Scott Rudiger 20 March 2019 в 06:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: