Вы не делаете никаких утверждений . Вам нужно expect
получить какой-то результат.
Card.js (это может быть чисто функция, если не требуется state
)
import React from "react";
import PropTypes from "prop-types";
const styles = {
width: "300px",
height: "300px"
};
const Card = ({ title, url }) =>
title && url ? ( // if a title and url are passed in, return ..., else return "null"
{title}
) : null;
// PropTypes will throw a warning if either of them is missing
PropTypes.propTypes = {
title: PropTypes.string.isRequired,
url: PropTypes.string.isRequired
};
export default Card;
Card.test.js [ 117]
import React from "react";
import { shallow } from "enzyme";
import Card from "../index";
// we define initial props (empty strings)
const initialProps = {
title: "",
url: ""
};
// we shallow wrap the Card while passing in the "initialProps"
const wrapper = shallow( );
// we define some props that will be passed in during our second test
const nextProps = {
title: "owl",
url: "https://media.giphy.com/media/qISaMW1xwmvNS/giphy.gif"
};
describe("Card Component", () => {
afterAll(() => wrapper.unmount());
it("shouldn't render a card without the required props", () => {
expect(wrapper.type()).toBeNull();
});
it("should render a card if the required props are present", () => {
wrapper.setProps({ ...nextProps }); // we update the component with "nextProps"
expect(wrapper.find("div.card")).toHaveLength(1); // expect "div.card" to be present
expect(wrapper.find("h1").text()).toContain(nextProps.title); // expect the "h1" element to contain "owl"
expect(wrapper.find("img").prop("src")).toBe(nextProps.url); // expect the "img"'s src to be "https://media.giphy.com/media/qISaMW1xwmvNS/giphy.gif"
});
});
Рабочий пример : https://codesandbox.io/s/k35zpqwk97
Консоль администрирования Exchange 2007 размещает PS непосредственно, и появляется каждое действие UI путем показа повсеместного "и здесь является PowerShell, Вы просто попросили, чтобы я сделал" модель UI). SQL Server 2005 и 8 консолей администрирования демонстрируют понятие обработки поверхности всего в UI как сценарии как способ dogfooding сценарии способностей (но существует мало поддержки PowerShell в SQL Server) (Различие между типом Exchange Server и SQL Server поддержки, добавленной в ответ комментарий Shaw's, спасибо)
Подкаст PowerScripting имеет несколько интервью на предмет тем как это. Также полученный написанный сценарий подкаст
Запустите здесь: Запись Windows PowerShell Host Application
Вы можете попробовать простые формы для создания полного приложения из сценария, или вам нужно создать свое приложение с помощью командлетов snappin (предыдущие - то, что используется sql, exchange и т. Д.), Но ссылка к первичным формам здесь
Это интригующая идея!
Я не знаю ' Я никогда не думал об этом, и я понятия не имею, считаю ли я это хорошей идеей, но можно было бы сделать кое-что творческое.
Например, предположим, что у вас есть типичная административная программа. Неважно, что конкретно. В классическом сценарии разработки приложений я обычно пытаюсь создать список объектов Command
(вещей, которые реализуют какую-то ICommand
), а затем мой пользовательский интерфейс будет привязать к ним.
Предположим теперь, что вы должны вместо этого создать командлет для каждой команды. Пользовательский интерфейс более или менее существовал бы как дружественный интерфейс для базовой логики в наборе командлетов.
Да, хорошо, здесь ничего нового. Люди делали это в течение долгого времени, создавая графический интерфейс на основе инструментов командной строки. Я думаю, что ключевое отличие состоит в том, что вместо этого вы будете создавать отдельные инструменты командной строки, исходя из концепции самого приложения. Черт возьми, для приложения и командлетов было бы больше смысла ссылаться на некоторую общую библиотеку команд вместо того, чтобы заставлять GUI располагаться поверх самих командлетов.
Ээээ-извините за бессмысленный ответ. Этот ответ был в основном потоком сознания. :)
Для приложения и командлетов может быть больше смысла ссылаться на некоторую общую библиотеку команд вместо того, чтобы заставлять GUI располагаться поверх самих командлетов.Errr- извините за бессмысленный ответ. Этот ответ был в основном потоком сознания. :)
Для приложения и командлетов может быть больше смысла ссылаться на некоторую общую библиотеку команд вместо того, чтобы заставлять GUI располагаться поверх самих командлетов.Errr- извините за бессмысленный ответ. Этот ответ был в основном потоком сознания. :)
Несколько лет назад я посетил PowerShell / MMC 3.0 Devlab в Microsoft, на котором учили, как это делать. Основная идея заключалась в том, чтобы создать «функциональность управления» с помощью серии командлетов PowerShell в PSSnapin для вашего приложения. Люди, ориентированные на интерфейс командной строки, могут просто загрузить оснастку и напрямую использовать ваши командлеты. Для ориентированного на графический интерфейс пользователя вы создаете оснастку MMC, в которой размещается пространство выполнения PowerShell, которое в ответ на действия графического интерфейса выполняет соответствующие командлеты PowerShell для настройки управляемого приложения. Для бонусных баллов вы показываете, какой код PowerShell будет выполняться графическим интерфейсом MMC, чтобы код можно было скопировать и вставить в сценарий.